Commit Graph

391 Commits

Author SHA1 Message Date
Paul Gilbert
d594211ab3 Bugfix to the coroutine handling in CdDoChange
svn-id: r40140
2009-04-25 06:36:20 +00:00
Fabio Battaglia
10caf64618 tinsel: begin modifying drawing function to support psx 4-bit cluts
svn-id: r40119
2009-04-24 15:14:26 +00:00
Fabio Battaglia
df81ef750c tinsel: added Discworld PSX palette converting function
svn-id: r40109
2009-04-24 11:54:10 +00:00
Fabio Battaglia
a016ed90ba tinsel: start wiring some Discworld PSX graphical functions into engine
svn-id: r40091
2009-04-23 16:17:22 +00:00
Fabio Battaglia
33180805ad tinsel: Enable Discworld PSX detection and begin adding some function to support Discworld PSX graphics
svn-id: r40090
2009-04-23 15:29:34 +00:00
Fabio Battaglia
199ca291ee tinsel: adding (disabled) detector entry for Discworld 1 PSX UK version
svn-id: r40021
2009-04-19 13:52:05 +00:00
Max Horn
a2b5829101 TINSEL: Added some doxygen comments to the Tinsel coroutine code
svn-id: r39908
2009-04-09 17:07:24 +00:00
Johannes Schickel
0ea7589e2c TINSEL: Commit of parentheses patch from salty-horse. (from -devel "Enabling -Wparentheses in the Makefile").
svn-id: r39759
2009-03-30 12:08:12 +00:00
Paul Gilbert
f405dff025 Bugfixes for incorrect Poly class usage in the CheckNPathIntegrity DEBUG method
svn-id: r39627
2009-03-23 08:49:05 +00:00
Paul Gilbert
93ff05cb6d Removed unused variables from a DEBUG method
svn-id: r39625
2009-03-23 08:31:14 +00:00
Max Horn
00907f32bd TINSEL: More polygon code cleanup
svn-id: r39618
2009-03-22 23:02:54 +00:00
Max Horn
7714b20abf TINSEL: cleanup
svn-id: r39617
2009-03-22 23:02:09 +00:00
Filippos Karapetis
c26a162606 Converted some leftover tinselV1 code, so that the engine builds when DEBUG is set
svn-id: r39598
2009-03-21 19:57:54 +00:00
Sven Hesse
21c87385bc Added some more debug messages
svn-id: r39532
2009-03-19 19:17:29 +00:00
Max Horn
9cbed926cd Moved Tinsel::Serializer to Common::Serializer, so that I can use it in the SCI engine
svn-id: r39428
2009-03-15 20:30:57 +00:00
Max Horn
25b39e217a TINSEL: Added Serializer::skip() convenience method
svn-id: r39350
2009-03-12 03:26:03 +00:00
Max Horn
f9ecd95d69 Whitespace cleanup: Convert space followed by tab to just tab
svn-id: r39203
2009-03-07 19:24:31 +00:00
Jordi Vilalta Prat
047f116515 Renamed MetaEngine::getCopyright() to getOriginalCopyright() to better match the meaning of the returned string, as discussed some time ago in scummvm-devel
svn-id: r39132
2009-03-05 12:04:58 +00:00
Kostas Nakos
f509f65023 add virtual keyboard backend hints for savegame name
svn-id: r39056
2009-03-01 21:54:53 +00:00
Kostas Nakos
a718713925 only center vertically in DW2
svn-id: r39052
2009-03-01 21:03:46 +00:00
Kostas Nakos
bf894deb06 silence compiler warnings: the names of some tinsel defines were shadowing standard winapi defines
svn-id: r39049
2009-03-01 19:46:07 +00:00
Max Horn
dd98126423 Engines: Fused several init&go methods into a single run method
svn-id: r39003
2009-03-01 04:42:46 +00:00
Max Horn
3fcbda829a Merged Engine::go() and ::init() into a new run() method (currently implemented by calling the existing init&go methods; to be cleaned up by engine authors
svn-id: r39002
2009-03-01 04:30:55 +00:00
Joost Peters
6c1b9b6d95 Fix #2614150 - DW2: Repeating SFX that should stop/pause don't
svn-id: r38552
2009-02-19 17:40:13 +00:00
Joost Peters
7adf721492 Proper endianness handling in MatchingLevels().
Fixes #2603000 "DW2: Long pause entering Shades (big endian)"

svn-id: r38316
2009-02-15 22:25:34 +00:00
Johannes Schickel
5417f6bacb - Replace OSystem::clearScreen with OSystem::fillScreen as discussed on -devel.
- Update BaseBackend and DC port to properly implement OSystem::fillScreen (now only PalmOS has to be updated).
- Update all client code which relied on OSystem::clearScreen so far.

svn-id: r38304
2009-02-15 21:20:21 +00:00
Joost Peters
25b7a42547 Handle endianness difference in RestoreActorReels() -- fixes bug 2569407 - DW2: Big Endian crash on loading saved game
svn-id: r36245
2009-02-07 12:55:39 +00:00
Joost Peters
627241de85 correct endianness in SetActorRGB()
svn-id: r36220
2009-02-04 22:05:57 +00:00
Joost Peters
fdce2ea425 Fix palette on big endian
svn-id: r36219
2009-02-04 20:55:15 +00:00
Joost Peters
b89031b8d2 DW2/Tinsel2 endian fixes. Apart from some palette glitches the game is playable now.
svn-id: r36218
2009-02-04 19:52:00 +00:00
Joost Peters
9de91ecdea DW2 endian fixes
svn-id: r36216
2009-02-04 17:08:04 +00:00
Joost Peters
8be011c770 endian fix
svn-id: r36214
2009-02-04 16:08:32 +00:00
Max Horn
f969404ff5 Fixed warning about implicit signed -> unsigned integer conversion
svn-id: r36200
2009-02-02 18:32:36 +00:00
Joost Peters
c59cff9bf3 endian safety
svn-id: r36199
2009-02-02 15:40:11 +00:00
Joost Peters
427e1471e7 t2PlayReel() endian fixes
svn-id: r36198
2009-02-02 14:54:08 +00:00
Joost Peters
1bd7520e12 more endian fixes
svn-id: r36197
2009-02-02 12:36:41 +00:00
Joost Peters
00e5b84f9f endian fix
svn-id: r36196
2009-02-01 23:06:35 +00:00
Max Horn
7cb437b56f Renamed SpecialDebugLevel to DebugChannel
svn-id: r36142
2009-01-30 05:10:24 +00:00
Max Horn
28cf213605 Moved AdvancedDetector from common/ to engines/
svn-id: r36132
2009-01-29 22:13:01 +00:00
Max Horn
ac59693be2 A ton of code formatting fixes; also fixed warnings about single line loops like 'while(cond);' by inserting newlines
svn-id: r36127
2009-01-29 05:26:12 +00:00
Torbjörn Andersson
b866cf5d22 Silence GCC warning.
svn-id: r36122
2009-01-28 21:11:18 +00:00
Max Horn
c08cc29b96 cleanup
svn-id: r36084
2009-01-27 00:41:41 +00:00
Torbjörn Andersson
0a7b4fd146 Fixed warning.
svn-id: r36059
2009-01-25 11:15:30 +00:00
Joost Peters
a0824205af some DW2 endian fixes
svn-id: r36058
2009-01-25 11:02:34 +00:00
Willem Jan Palenstijn
a8ae95cc10 fixing #2531282: don't fall back to a real audio CD when playing enhanced midi tracks
svn-id: r36030
2009-01-24 01:29:52 +00:00
Filippos Karapetis
71421c9966 Mention that kSupportsRTL is problematic in tinsel
svn-id: r35969
2009-01-20 23:50:07 +00:00
Filippos Karapetis
cb8ffaf3a9 Implemented loading from the command line and the GMM for tinsel (kSupportsLoadingDuringStartup)
svn-id: r35958
2009-01-20 17:30:23 +00:00
Max Horn
c77ecdc050 Fix another warning
svn-id: r35934
2009-01-20 02:56:32 +00:00
Filippos Karapetis
85d4063000 Some WIP code for the kSupportsLoadingDuringStartup engine feature
svn-id: r35932
2009-01-20 00:33:26 +00:00
Filippos Karapetis
c56faf3216 Since users need to rename the sound and index files in DW2, throw nice GUI error messages when these files are not found before dying with an error
svn-id: r35886
2009-01-17 22:29:55 +00:00
Filippos Karapetis
f79007d6cf Fix for non-looped tracks of the music enhancement project. Also, got rid of the dwMidiIndex variable
svn-id: r35862
2009-01-14 13:55:36 +00:00
Filippos Karapetis
e1f8088328 Don't call _mixer->stopAll() when changing scenes, as this stops the enhanced audio tracks as well. Sounds are stopped by stopAllSamples()
svn-id: r35839
2009-01-12 15:51:11 +00:00
Filippos Karapetis
3f8ca778d0 Cleanup
svn-id: r35838
2009-01-12 15:41:37 +00:00
Filippos Karapetis
1a7aeec4d9 Imitate the way the original game is playing MIDI tracks when playing enhanced ones
svn-id: r35837
2009-01-12 15:31:50 +00:00
Filippos Karapetis
8911d34542 Added support for the Discworld 1 Music Enhancement project. Big thanks to James Woodcock for his work on both versions of the game (the *.GRA and *.SCN version)
svn-id: r35836
2009-01-12 14:56:29 +00:00
Eugene Sandulenko
696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Paul Gilbert
6187ec38fb Added extra endian conversion. This may fix bug #2462700
svn-id: r35566
2008-12-27 04:11:28 +00:00
Joost Peters
e98f573688 add comment for clarification
svn-id: r35528
2008-12-24 16:13:09 +00:00
Joost Peters
85bfce72d3 on systems that need alignment, allocate chunks that are a multiple of 4 to ensure we get aligned chunks.
Otherwise, some pNode structs will be dereferenced from unaligned addresses.

svn-id: r35527
2008-12-24 16:10:55 +00:00
Joost Peters
a93cf38f0b change PPINIT's bools to uint8 to fix crash on OSX (see revision 33285 - must've been accidentally undone by the
DW2 merge) 

svn-id: r35508
2008-12-23 21:17:04 +00:00
Joost Peters
1b33233e86 endian fixes
svn-id: r35506
2008-12-23 20:20:30 +00:00
Filippos Karapetis
94b914b0cb Reduced the memory allocated for DW1 and DW1 demo by 5MB
svn-id: r35464
2008-12-21 12:30:30 +00:00
Johannes Schickel
cba892a61b Disable loading from command line again, it seems it only worked for saves, which did a cd change in DW2 and I only tested those by chance.
svn-id: r35456
2008-12-21 00:48:23 +00:00
Johannes Schickel
f3f93da8b8 - Added comment about error check when loading save on startup
- Updated code to properly test the last three digits of save filenames instead of only the last two

svn-id: r35455
2008-12-20 23:15:46 +00:00
Johannes Schickel
c3041ad99b Implemented support for loading saves from launcher / via command line.
svn-id: r35454
2008-12-20 23:11:56 +00:00
Johannes Schickel
34368e5650 Fixed loading Discworld 2 savegames from GMM.
svn-id: r35453
2008-12-20 23:08:37 +00:00
Willem Jan Palenstijn
dcc81b07e5 move necessary code outside of assert
svn-id: r35414
2008-12-17 19:25:54 +00:00
Travis Howell
98bbf9c417 Add target for CD demo of Discworld 1.
svn-id: r35405
2008-12-16 23:07:16 +00:00
Paul Gilbert
116980367a Removed the comment about the DW1 Demo not being supported
svn-id: r35356
2008-12-14 04:39:25 +00:00
Paul Gilbert
4d79c4c9b6 Minor bugfix to string display in DW1 demo
svn-id: r35354
2008-12-14 04:24:41 +00:00
Paul Gilbert
303d463a50 Workaround to correctly return control to the player in the DW1 Demo after using the prunes
svn-id: r35334
2008-12-13 11:18:28 +00:00
Paul Gilbert
5f9bbd3444 Bugfixes for text display and animations in DW1 demo
svn-id: r35333
2008-12-13 10:24:28 +00:00
Paul Gilbert
48f5e51c77 Added handling for record differences in the hotspot/polygon format in DW1 Demo
svn-id: r35331
2008-12-13 08:40:04 +00:00
Sven Hesse
052e83cd24 Okay, removing my implementation of AppandableAudioStream::getTotalPlayTime (I've apparently misunderstood its intent) and using Mixer::getSoundElapsedTime() instead
svn-id: r35317
2008-12-12 17:12:05 +00:00
Filippos Karapetis
cbdb105d8e - Save games are now listed from oldest to newest in the GMM load dialog for tinsel games, like in other engines
- Added some disabled code for saving through the GMM (still incomplete)

svn-id: r35316
2008-12-12 15:48:38 +00:00
Johannes Schickel
443158fd89 Cleanup. (Removed define and checks for USE_3FLAGS/USE_4FLAGS/USE_5FLAGS)
svn-id: r35306
2008-12-11 18:38:15 +00:00
Johannes Schickel
9a3a04f6dd Added a HACK/FIXME to prevent tinsel games from crashing, when for example the music volume is set to 256 via the launcher.
svn-id: r35301
2008-12-11 13:43:52 +00:00
Johannes Schickel
7c05e9e723 Fix for bug #2412503 "DW1: Subtitle menu not working (Multi-language version)".
svn-id: r35300
2008-12-11 13:32:50 +00:00
Max Horn
cabfbb4903 Removed some dead code, clarified comments, cleanup
svn-id: r35293
2008-12-09 19:54:01 +00:00
Lars Persson
1eefecffa4 Quickfix for tinlib compilation error. Changed type on zOverride from type int to int32 (signed int that is) to fit the SetMoverZ function and for valid comparison of zOveride != -1.
svn-id: r35286
2008-12-08 21:11:19 +00:00
Paul Gilbert
87a0976185 Added code differences for DW1 demo to allow the first game screen to start
svn-id: r35268
2008-12-07 07:44:52 +00:00
Paul Gilbert
e625bd54de Implemented the Tinsel v0 WrtNonZero graphics renderer
svn-id: r35258
2008-12-06 11:36:15 +00:00
Paul Gilbert
b697026ae0 Library routine and interpreter fixes for the DW1 demo
svn-id: r35257
2008-12-06 11:35:31 +00:00
Paul Gilbert
7a49843047 Beginning of support for DW1 Demo - Interpret has been changed to support opcode differences, and CallLibraryRoutine has a new mapping list of routines
svn-id: r35252
2008-12-06 02:07:30 +00:00
Paul Gilbert
bfd32c9516 Bugfix for correctly leaving from looking at the Rite of AshkEnte scroll
svn-id: r35248
2008-12-05 10:18:39 +00:00
Sven Hesse
faf8059cac This should make the US version work
svn-id: r35243
2008-12-04 19:42:42 +00:00
Sven Hesse
d01e9b6785 Correcting the language for GRB/USA
svn-id: r35242
2008-12-04 19:24:25 +00:00
Filippos Karapetis
8d0ef7a05d The "sound" debug command now works correctly in DW2
svn-id: r35225
2008-12-03 21:47:31 +00:00
Filippos Karapetis
d8e656a217 - Added back the English V1 CD version of DW1 (with *.gra files)
- Added the US version of DW2
- Added placeholders for the Hebrew, Hungarian and Japanese versions of DW2 (not sure if they're correct)

svn-id: r35222
2008-12-03 18:54:22 +00:00
Jordi Vilalta Prat
d34865d054 DW2: Add support for the Italian/Spanish release
svn-id: r35211
2008-12-02 22:22:23 +00:00
Filippos Karapetis
3669360043 Added detection for the French version of DW2, as described in the forums
svn-id: r35210
2008-12-02 22:16:44 +00:00
Filippos Karapetis
5bfb248301 - Set the maximum number of save games in DW1 and DW2 to 100, up from 30
- It's now possible to load and delete save games using the GMM (although not through the launcher screen yet)

svn-id: r35207
2008-12-02 18:34:32 +00:00
Johannes Schickel
702b7be594 Should fix compilation on BE machines.
svn-id: r35206
2008-12-02 17:53:58 +00:00
Filippos Karapetis
025cebdf6d Disabled the workaround to skip the title screens of DW1 for now, as it can cause crashes with certain versions of the game
svn-id: r35205
2008-12-02 17:22:30 +00:00
Filippos Karapetis
af945ac788 Merged the tinsel 2 engine with tinsel 1. Both Discworld 1 and Discworld 2 should be completable
svn-id: r35196
2008-12-01 20:35:36 +00:00
Johannes Schickel
5a0556f09c Committed my patch #2123680 "SDL: Backend transaction / rollback support".
svn-id: r35062
2008-11-14 22:08:10 +00:00
Filippos Karapetis
f5729a4a8b - The GMM save dialog is now working for all engines which support the appropriate features
- Added a new method to the MetaEngine class, getMaximumSaveSlot(), and implemented it in all engines for which the listSavefiles() method is implemented (it goes together with the listSavefiles method). It is used to fill the unused save slots in the save/load dialogs of each engine, so that the user can create new save games in empty slots
- Unified the save/load dialog list numbering in the GMM load/save screens and in the load screen of the main menu (before a game is started)

svn-id: r34963
2008-11-09 16:13:34 +00:00
Max Horn
40136f2590 Switched various Engine APIs to use Common::Error
svn-id: r34916
2008-11-06 17:05:54 +00:00
Max Horn
fe2935ad4b Got rid of the unused 'filename' attribute in SaveStateDescriptor
svn-id: r34905
2008-11-05 15:41:12 +00:00
Max Horn
4747f8dc01 Fix warning
svn-id: r34780
2008-10-12 21:51:52 +00:00
Max Horn
9b160804ab Renamed Engine::quit to Engine::shouldQuit (previously, it was easily confused with Engine::quitGame); also cleaned up engine.h a bit
svn-id: r34700
2008-09-30 12:27:38 +00:00
Filippos Karapetis
221b4a47ae Changed tinsel's volume range (0-127) to match ScummVM's (0-255)
svn-id: r34603
2008-09-19 13:58:09 +00:00
Max Horn
655ce26b3f Big patch changing the signature of various Stream methods (some ports may need to be slightly tweaked to fix overloading errors/warnings)
svn-id: r34514
2008-09-13 16:51:46 +00:00
Max Horn
62a75f2615 Added detection for 4-language floppy version of DW (see report on forum post 39703)
svn-id: r34486
2008-09-11 09:26:27 +00:00
Max Horn
d3642080de Moved check for shouldRTL() from engines to scummvm_main
svn-id: r34310
2008-09-03 16:56:40 +00:00
Max Horn
40e05acff3 TINSEL: Enabled listSaves support
svn-id: r34263
2008-09-01 21:13:11 +00:00
Max Horn
958647a6b5 Merging more of the GSoC 2008 RTL branch: TINSEL
svn-id: r34257
2008-09-01 20:22:10 +00:00
Filippos Karapetis
7eb072064a Silence MSVC warning about potentially uninitialized variable
svn-id: r34236
2008-09-01 10:09:48 +00:00
Max Horn
2c3f2829fa cleanup
svn-id: r34215
2008-08-30 22:16:59 +00:00
Max Horn
4875b44052 TINSEL: The engine version is an integer, not a bitfield
svn-id: r34214
2008-08-30 22:10:48 +00:00
Max Horn
aa463878a3 TINSEL: Remove some unused code; and duplicated the 4-FLAGS version detection entry (one copy for each language) for the user's convenience
svn-id: r34213
2008-08-30 22:09:35 +00:00
Max Horn
be85bf25a5 TINSEL: Write config changes to disk
svn-id: r34212
2008-08-30 21:51:13 +00:00
Max Horn
fb66f42002 cleanup
svn-id: r34211
2008-08-30 21:43:36 +00:00
Max Horn
396d815e15 TINSEL: Added support for the 3,4 and 5 FLAGS (multi lingual) versions of DW (only 4 flags version has been tested; see also bug #2048383)
svn-id: r34210
2008-08-30 21:03:15 +00:00
Max Horn
79fafb7b6a Fix bug #2078922: DW: Pushing ESC repeatedly at beginning causes odd behavior
svn-id: r34196
2008-08-27 19:29:41 +00:00
Max Horn
baf975f072 cleanup
svn-id: r34191
2008-08-27 17:41:05 +00:00
Torbjörn Andersson
35b02acb39 Moved the mutex locking a bit. (Consistent with how the AGOS engine does it.)
svn-id: r34050
2008-08-20 09:15:59 +00:00
Christopher Page
4f00562bb2 Fixed some memory leaks in Tinsel
svn-id: r33849
2008-08-13 21:37:02 +00:00
Christopher Page
78159c34a1 Added RTL feature to Tinsel
svn-id: r33671
2008-08-06 21:44:43 +00:00
Max Horn
b998a7ef07 Renamed Tinsel v1->v0 (used in the demo only), and v2->v1, to avoid confusion with DW2
svn-id: r33553
2008-08-02 23:01:14 +00:00
Filippos Karapetis
8941a96bf0 Make sure that save game descriptions are 0-terminated
svn-id: r33438
2008-07-30 08:23:04 +00:00
Max Horn
0be985ce83 Changed class File (and derived classes) to only support read-only access; added a new class DumpFile for writing
svn-id: r33412
2008-07-29 16:09:10 +00:00
Sven Hesse
84505d6374 Fixed the inventory bug that's been reported in the forums
svn-id: r33288
2008-07-25 12:59:46 +00:00
Joost Peters
71d40e23f5 change PPINIT struct to use ScummVM datatypes, so sizeof(PPINIT) is 28 on ppc/OSX as well.
svn-id: r33285
2008-07-25 10:20:05 +00:00
Max Horn
04985c8ac9 TINSEL: Got rid of PIMAGE, PINT_CONTEXT, PINV_OBJECT, PINV_DEF, PCONFBOX, PCONFINIT
svn-id: r33282
2008-07-25 09:19:06 +00:00
Max Horn
054fe75422 TINSEL: Fixed forgotten ClearScreen(0) call
svn-id: r33281
2008-07-25 09:18:39 +00:00
Max Horn
bfcc4339c1 More tinsel cleanup
svn-id: r33280
2008-07-25 09:17:47 +00:00
Max Horn
f96faab2ba TINSEL: Got rid of NO_TAG (not used)
svn-id: r33278
2008-07-25 09:15:32 +00:00
Max Horn
75ff7a1b0e cleanup
svn-id: r33277
2008-07-25 09:15:03 +00:00
Max Horn
3d6badc476 TINSEL: ActorTag & PolyTag abused a SCNHANDLE and some global enums to keep a trinary state -- fixed that by introducing a new enum HotSpotTag
svn-id: r33276
2008-07-25 09:13:08 +00:00
Max Horn
52a3dd7581 TINSEL: Get rid of Graphics::Surface class
svn-id: r33275
2008-07-25 09:12:03 +00:00
Max Horn
2fc0c3e859 TINSEL: Updating the palette should only require a call to OSystem::updateScreen and not a blit
svn-id: r33274
2008-07-25 09:05:04 +00:00
Max Horn
728a045308 cleanup
svn-id: r33263
2008-07-24 10:31:37 +00:00
Max Horn
69dac1d4f2 Moved scheduler / process managment code into a new class Scheduler
svn-id: r33259
2008-07-24 08:59:17 +00:00
Max Horn
a5f280647b cleanup
svn-id: r33250
2008-07-23 17:01:42 +00:00
Max Horn
29a96430a0 TINSEL: Renamed CoroutineInstall back to ProcessCreate; got rid of yet another typedef; more cleanup
svn-id: r33249
2008-07-23 16:55:52 +00:00
Max Horn
4acde448f5 Moved POLYGON struct into polygon.cpp; got rid of some more typedefs
svn-id: r33241
2008-07-23 14:42:27 +00:00
Max Horn
33c34f2eb4 cleanup; removed const bNoScroll variable
svn-id: r33237
2008-07-23 10:33:36 +00:00
Max Horn
3595a9b2a4 Removed some dead code
svn-id: r33236
2008-07-23 10:29:37 +00:00
Max Horn
bc2ec5afde Got rid of some typedefs
svn-id: r33235
2008-07-23 10:27:24 +00:00
Max Horn
c441c5261f Added Tinsel engine to main repos (no news item for it ON PURPOSE)
svn-id: r33230
2008-07-23 09:02:47 +00:00