Commit Graph

515 Commits

Author SHA1 Message Date
Max Horn
012450de73 added tag2str helper function
svn-id: r10866
2003-10-17 16:28:29 +00:00
Max Horn
5acafb15c2 cleanup; got rid of Gdi::_palette_mod in favor of Gdi::_roomPalette
svn-id: r10778
2003-10-13 12:56:53 +00:00
Max Horn
31ba12c800 some more target<->game cleanup
svn-id: r10769
2003-10-12 19:10:17 +00:00
Max Horn
fafb90ddb5 code simplification
svn-id: r10762
2003-10-12 17:33:29 +00:00
Max Horn
1ebb7cce53 removed obsolete
svn-id: r10645
2003-10-06 19:21:18 +00:00
Max Horn
0954fc1dac cleanup
svn-id: r10620
2003-10-05 17:32:38 +00:00
Max Horn
d4734bd4f2 use namespace Common a bit more; don't zero the RNG in scumm (else the seed gets reset); remove obsolete 256 color blending code
svn-id: r10592
2003-10-04 11:50:21 +00:00
Max Horn
d7660a2662 introduced namespace Scumm; made #include statements use scumm/ prefix explicitly
svn-id: r10571
2003-10-03 18:33:57 +00:00
Max Horn
e6819e42cf added getMusicTimer() to class MusicEngine; this allows some nice code cleanup; also added an error() invocation to find out if certain code is still needed
svn-id: r10556
2003-10-03 01:07:35 +00:00
Max Horn
3f55f2669d renamed class Scumm to ScummEngine (consisten with other engine names; also makes room for a potential 'Scumm' namespace)
svn-id: r10549
2003-10-02 22:42:03 +00:00
Max Horn
0e645f88ae renamed namespace ScummVM to Common
svn-id: r10544
2003-10-02 17:43:02 +00:00
Jamieson Christian
db798a3e7d Fix for Bug [815851] DOTT: MT-32 MIDI priority
Favor 'ROL ' resources over 'GMD ' if
--native-mt32 is selected.

svn-id: r10537
2003-10-02 14:37:40 +00:00
Travis Howell
4a62eb3e3b More Amiga V2/V3 sound updates from _Q_:
1. A Player_MOD class, basically acts as a simplified mixer that mixes at 60Hz intervals (or whatever interval you specify), this gives smooth music playback in player_v3a
2. Some changes to player_v3a as a result of #1, including reduced music volume
3. player_v2a, and the necessary additions to scummvm.cpp/scumm.h

svn-id: r10392
2003-09-24 06:56:30 +00:00
Max Horn
be9d4066e1 moved engine.* to base; this fixes some linking issues when building a barebone ScummVM (or maybe I just want to increase our CVS stats? <g>)
svn-id: r10287
2003-09-18 02:07:18 +00:00
Max Horn
b6e4fb2ef7 since _hFileTable is only used by Scumm_v6, there is no reason to put it into class Scumm
svn-id: r10227
2003-09-13 13:59:46 +00:00
Paweł Kołodziejski
c334c1103f implemented opcodes: openfile and closefile
svn-id: r10226
2003-09-13 13:41:44 +00:00
Max Horn
81f10baa68 cleanup
svn-id: r10169
2003-09-11 10:32:15 +00:00
Max Horn
87dd04e038 fix for bug #776807 (MM: Jail Door Closes). Our doSentence implementation should now be pretty close to what the original does. But regressions are possible...
svn-id: r10161
2003-09-10 17:15:44 +00:00
Max Horn
07e8084eee replaced all use of scale items with scale slots. This allowed me to get rid of two big FIXME's, and might fix other scaling bugs in FT/DIG
svn-id: r10140
2003-09-09 17:29:22 +00:00
Max Horn
163ecdc054 added convertScaleTableToScaleSlot method, preparing to replace scale items with scale slots
svn-id: r10139
2003-09-09 16:55:25 +00:00
Max Horn
821faf9e03 added convertMac0Resource (which doesn't do anything yet, but is the place we can add Mac0 support in later); factored out some common code in convertADResource; fixed memory leak when convertADResource was called; misc cleanup
svn-id: r10117
2003-09-09 00:13:19 +00:00
Max Horn
0012f7fa96 added common base class MusicEngine for iMuse/iMuseDigital/Player_V123 (initial stab, more work to follow)
svn-id: r10066
2003-09-07 16:16:19 +00:00
Travis Howell
9de8a0cfa9 Add music player for Amiga versions of indy3ega/loom from unused.
Revert last change to common.rules for now, it broke compile.

svn-id: r10061
2003-09-07 07:23:20 +00:00
Max Horn
457f2fc211 rearranged GameFeatures constants a bit
svn-id: r10027
2003-09-05 22:53:46 +00:00
Travis Howell
3187b565dd Add atarist and macintosh options, since there seem to be no way to detect version been used.
svn-id: r9999
2003-09-05 07:36:05 +00:00
Jonathan Gray
176803cb90 make the 2nd gen windows based humongous games that have things like a different layout in the MAXS block at least start the bootscript, added pjs-demo target to test with
svn-id: r9897
2003-08-29 02:39:05 +00:00
Travis Howell
06d07054c3 Fix room palette issues in small_header games.
Fix is only for EGA games so far.

svn-id: r9873
2003-08-27 01:12:18 +00:00
Max Horn
09368e09f2 fix for bug #786994 (DOTT: no custom cursor)
svn-id: r9850
2003-08-24 17:37:28 +00:00
Travis Howell
d6105a3064 Cleanup v1/v2 color settings for sentance/inventory/verb area.
Add highlight color for v1 maniac

svn-id: r9774
2003-08-19 04:15:14 +00:00
Jonathan Gray
413f09eff5 add maniacnes target, rather prelimary so people would be well advised not to add to compatibility at this point
svn-id: r9690
2003-08-14 11:40:50 +00:00
Travis Howell
679bc2d271 Adds finals changes for choice of sound formats in older games.
Only works wit monkeyvga, since ScummVM has it set as version 4.
Remove some old debugging comments

svn-id: r9659
2003-08-13 15:37:28 +00:00
Jamieson Christian
fb62ba61ca Added PC Speaker and PCjr command line options,
in preparation for Kirben's addition of WA support
for games that already have AD tracks.

svn-id: r9656
2003-08-13 14:08:21 +00:00
Travis Howell
603f8b8e3a Give pass its own id
svn-id: r9654
2003-08-13 02:21:36 +00:00
Jamieson Christian
a52b44f3fe Expanded iMuse debugger commands. All iMuse
commands are now under "imuse", and underscores
have been removed.

imuse panic - Stop all music tracks
imuse multimidi on/off - Set multimidi
imuse play # - Play a sound resource
imuse play random - Play a random sound resource
imuse stop # - Stop a music resource
imuse stop all - Stop all music resources

Note that "play #" and "play random" only attempt
to play a sound resource. If the resource is not
a music resource or is in a format not supported by
the current music driver, it won't play.

You can use this as a mini jukebox, but be sure
you're in a room with minimal activity. The
goal is to minimize interference from the scripts
while playing sounds that are not expected in
that room.

svn-id: r9641
2003-08-11 14:48:21 +00:00
Jonathan Gray
f1a3253fa2 remove GF_LOOM
svn-id: r9603
2003-08-08 11:32:40 +00:00
Max Horn
3e0cd37cea get rid of GF_INDY3 again, and also remove GID_INDY3_256 and GID_INDY3_TOWNS
svn-id: r9554
2003-08-06 12:04:27 +00:00
Travis Howell
5dd4d3e8e4 Add GF_LOOM feature flag for loom games to reduce checks.
Will make it easier to add loom fm towns target in future.

svn-id: r9547
2003-08-06 09:30:48 +00:00
Travis Howell
e4e9538038 Add GF_INDY3 feature flag for indy3 games to reduce checks
Remove GF_ADLIB_DEFAULT since it is no longer used

svn-id: r9546
2003-08-06 09:10:19 +00:00
Travis Howell
8bf012d966 Add adlib music improvements for indy3/monkeyega/monkeyvga and cleanups from patch #770862
svn-id: r9480
2003-08-05 05:21:57 +00:00
Travis Howell
11aa36ff90 Add option for the demo included in Maniac Mansion (Classic version)
svn-id: r9279
2003-07-29 12:13:39 +00:00
Max Horn
7caa1a0c9e removed _encbyte (it's only used locally)
svn-id: r9252
2003-07-28 16:55:06 +00:00
Max Horn
d592095fb9 Patch #715991: Quit Confirmation Dialog (feature request #642721) with some tweaks by me
svn-id: r9210
2003-07-28 01:36:16 +00:00
Torbjörn Andersson
3b033956aa Changed "SCALLING" to "SCALING".
svn-id: r9134
2003-07-22 20:53:01 +00:00
Max Horn
0b1b753797 added getResourceSize method
svn-id: r9109
2003-07-21 21:28:47 +00:00
Max Horn
c7958d8d8b merged checkKeyHit/convertKeysToClicks/getKeyInput into processKbd - their separation served no purpose but made it much harder to understand the code. Also, this opens up possibilities to cleanup the code
svn-id: r9085
2003-07-20 00:02:24 +00:00
Max Horn
2fbf782c05 moved some functions out of scummvm.cpp into more appropriate files; rearranged stuff inside scummvm.cpp to be grouped a bit more logical
svn-id: r9083
2003-07-19 18:18:01 +00:00
Travis Howell
f20c47bb21 Add Indy3 FM Towns support, patch #773434
svn-id: r9062
2003-07-18 05:49:21 +00:00
Max Horn
c74e2eb4d7 factored out some duplicate code into a new method translateTextAndPlaySpeech; removed some completely useless code (why compute 'pointer' when we then throw away the result?)
svn-id: r9045
2003-07-15 21:30:53 +00:00
Travis Howell
73365aa2c7 Split the v1 palette, since there is a minor difference.
svn-id: r8999
2003-07-14 06:44:47 +00:00
Travis Howell
ffddfd76d9 Add correct palette for pc versions of v1 games
Add some correct colors for v1 games

svn-id: r8988
2003-07-13 15:13:43 +00:00
Nicolas Bacca
524991b073 Add KEY_ALL_SKIP for WinCE
svn-id: r8939
2003-07-12 10:35:38 +00:00
Travis Howell
4c6e10bfd6 Add amiga pallete for Amiga versions
svn-id: r8904
2003-07-11 09:38:46 +00:00
Paweł Kołodziejski
2e0235d898 added GID_PUTTPUTT game id for puttputt games to prevent use samnmax hacks
svn-id: r8807
2003-07-06 16:51:22 +00:00
Max Horn
92fd56f9f0 removed #include "boxes.h" from scumm.h; cleaned up AdjustBoxResult definition & usage; properly deal with larger box distances, thus partially fixing Zak on the airport (but original seems to have used a very different algorithm, so this really is only a partial fix)
svn-id: r8710
2003-07-02 13:47:03 +00:00
Max Horn
1ec54d032e Moved out akos_compare (no reason for it to be member of class Scumm)
svn-id: r8660
2003-06-26 22:50:01 +00:00
Max Horn
7a79ef8f5f added getOBIMFromObject and getObjectImage methods; changed code to use those
svn-id: r8651
2003-06-26 01:46:41 +00:00
Max Horn
7f3118f8d8 more const qualifiers
svn-id: r8649
2003-06-25 23:49:54 +00:00
Max Horn
870ce2879e added some const qualifiers; moved _bundle & _current_cd_sound from class Scumm to class Sound; some other tweaks
svn-id: r8648
2003-06-25 23:25:52 +00:00
Jonathan Gray
20b3ba1d28 add id for segacd monkey island and don't attempt to play sbl sounds for now
svn-id: r8555
2003-06-19 12:29:13 +00:00
Torbjörn Andersson
5a2678b72a Make the mouse-over hilight work again on the inventory arrows in V2 games.
svn-id: r8523
2003-06-17 07:11:58 +00:00
Max Horn
101df28e0b moved GameId declaration to common/engine.h (more logical); moved scumm specific stuff from gameDetector.h to scumm.h; cleaned up some #includes (ideally, never #include something in a header file if you can avoid it - this cuts down interdepencies)
svn-id: r8496
2003-06-15 01:42:19 +00:00
Max Horn
4e57157cda renamed _bcr -> _costumeRenderer
svn-id: r8473
2003-06-14 13:38:22 +00:00
Max Horn
f4a31da513 runHook -> runInventoryScript, VAR_HOOK_SCRIPT -> VAR_INVENTORY_SCRIPT
svn-id: r8468
2003-06-14 12:23:30 +00:00
Max Horn
aa83d4fd31 cleanup
svn-id: r8467
2003-06-14 11:52:34 +00:00
Jonathan Gray
aabfc254c1 rework loom subtitle option handing
svn-id: r8448
2003-06-12 16:38:43 +00:00
Jonathan Gray
c26bdae207 hook subtitle variable up to f9 for loomcd
svn-id: r8446
2003-06-12 12:22:57 +00:00
Torbjörn Andersson
ab7f8b3378 Fixed recent regression (too many blast texts) in The Dig's end credits and
made the text scroll off the screen instead of just vanishing at the top.
(The latter also applies to Full Throttle's end credits.)

svn-id: r8402
2003-06-08 15:17:14 +00:00
Max Horn
a1caf1f9f9 forgot to check this one in
svn-id: r8400
2003-06-08 12:56:42 +00:00
Max Horn
f8ec8a9903 cleanup
svn-id: r8399
2003-06-08 12:49:34 +00:00
Max Horn
be9e6e85db added quit event
svn-id: r8398
2003-06-08 12:11:14 +00:00
Max Horn
04db5c12ab make version public
svn-id: r8366
2003-06-06 23:55:00 +00:00
Max Horn
4b227da824 Preparations for removing GF_AFTER_V? flags
svn-id: r8364
2003-06-06 22:51:33 +00:00
James Brown
c89b04488d Get rid of *64 targets, use 'maniac' and 'zak' autodetection for the AFTER_V1 flag instead.
svn-id: r8348
2003-06-06 10:47:12 +00:00
Paweł Kołodziejski
94bbf1b9a0 added v1 gfx codec, (not working)
svn-id: r8329
2003-06-05 17:22:15 +00:00
Bertrand Augereau
23196c1257 added a global CostumeRenderer in the VM, to avoid actors reinstancing it every time
svn-id: r8307
2003-06-05 02:44:18 +00:00
Bertrand Augereau
69b55ea45f put a setFeatures member that allows to precompute game-wide stuff, such as CostumeRenderer, when features change, ie extremely rarely
svn-id: r8301
2003-06-04 23:03:23 +00:00
Max Horn
ffef453d1a cache room strip offsets (this should help performance on PalmOS)
svn-id: r8300
2003-06-04 21:45:29 +00:00
Max Horn
6fd0e4a07f Patch #747021: DIG&CMI 2 byte charset support (very heavily modified by me; still needs more cleanup but already works well enough)
svn-id: r8293
2003-06-04 14:37:43 +00:00
Max Horn
3baff34226 use enqueueText for FT, too
svn-id: r8284
2003-06-02 23:54:52 +00:00
Max Horn
35f29951eb moved blast text code to string.cpp
svn-id: r8282
2003-06-02 23:18:52 +00:00
Paweł Kołodziejski
6dbd36d668 more v1 load directory ...
svn-id: r8274
2003-06-02 18:15:09 +00:00
Max Horn
4292d621af cleaned up the restart/pause/shutdown situation a bit; added comment that explains how restart might be implemented
svn-id: r8260
2003-06-02 02:25:24 +00:00
Max Horn
cb5fb5d403 added a getMaskBuffer method (makes it easier to read some of the code); merged setVirtscreenDirty() into updateDirtyRect(); made setDirtyRange a method of struct VirtScreen
svn-id: r8241
2003-06-01 14:30:26 +00:00
Max Horn
9cbcde684b cleanup / added comments / code unification
svn-id: r8235
2003-06-01 13:09:30 +00:00
Max Horn
5202a59c63 some setObjectName changes. I'd really like to switch V2-V5 to use rtObjectName resources, too
svn-id: r8171
2003-05-31 12:17:58 +00:00
Max Horn
d5d0440e8c cleanup
svn-id: r8169
2003-05-31 11:57:18 +00:00
Max Horn
9b8f49e900 Use language index for The Dig, too
svn-id: r8159
2003-05-30 23:24:29 +00:00
Max Horn
3efdd3ad6b continously opening and closing the language.bnd file is rather inefficient. It's about 400k, though...
svn-id: r8158
2003-05-30 22:57:19 +00:00
Max Horn
eb039ec554 some cheap doxygen docs; cleanup
svn-id: r8154
2003-05-30 20:13:29 +00:00
Max Horn
c6b35e15a0 moved bomp stuff into own files; removed some of our 6 (!) bomp decoders
svn-id: r8151
2003-05-30 19:00:33 +00:00
Max Horn
90468ea46e cleanup
svn-id: r8150
2003-05-30 17:52:17 +00:00
Max Horn
5725ee392a code unification
svn-id: r8146
2003-05-30 15:39:06 +00:00
Max Horn
3d28cfaf82 cleanup
svn-id: r8145
2003-05-30 15:06:29 +00:00
Max Horn
61de12d3a1 Modified version of erik's patch #745986: Experimental V2 mouseover stuff
svn-id: r8142
2003-05-30 14:29:07 +00:00
Max Horn
691e1f390a rewrote Actor::needBgReset related code (this could cause regressions...)
svn-id: r8126
2003-05-30 00:55:21 +00:00
Max Horn
d0b2e56194 more camera spliting
svn-id: r8121
2003-05-29 23:44:24 +00:00
Max Horn
1db0f749ca moved camera stuff to own file
svn-id: r8099
2003-05-29 12:55:28 +00:00
Max Horn
34bf11b43f spelling
svn-id: r8062
2003-05-28 21:28:30 +00:00
Max Horn
1f70da0155 const as const can!
svn-id: r8058
2003-05-28 20:01:47 +00:00
Max Horn
1374e7c6b1 Patch #743228: Storing mouse cursor info in savegames; Also, increased NUM_SCRIPT_SLOT to 80 (done at the same time so I only have to up the save game version once)
svn-id: r8050
2003-05-28 18:13:30 +00:00
Jamieson Christian
dbad55e532 Added Hoenicke's PC-speaker waveform generator
and script interpreter for GF_OLD_BUNDLE music resources.

We'll try to get the waveform generator into a
MidiDriver wrapper for use with the 'SPK' resources
of later games, but this is usable for now.

Great work, Hoenicke!

svn-id: r8023
2003-05-26 22:03:04 +00:00
Max Horn
8eec984eb7 more const qualifiers
svn-id: r8002
2003-05-26 13:14:57 +00:00
Max Horn
2f9ff35bad moved Actor SaveLoadEntry definition to actor.cpp; made findPathTowards/findPathTowardsOld members of Actor; cleanup
svn-id: r7988
2003-05-26 02:26:13 +00:00
Max Horn
80eab4c3c4 hook language command switch to V2 font / prepositions
svn-id: r7970
2003-05-25 20:38:44 +00:00
Max Horn
9ba6f4b432 made more stuff protected
svn-id: r7921
2003-05-25 00:47:36 +00:00
Max Horn
0384d27e83 (somewhat hackish) support for COMI CD changing on Mac OS X; reordered stuff in scumm.h
svn-id: r7908
2003-05-24 22:17:45 +00:00
Max Horn
28eade1da4 when iterating from 1 to _numActors over all actors, use _actors[] directly instead of derefActor() (unnecessary overhead); added range check to derefActor, and error out if invalid actor is accessed
svn-id: r7858
2003-05-23 12:48:50 +00:00
Max Horn
a9788c771a from the MM/Zak scripts, the code etc. it's clear that unk2 is the sentence preposition
svn-id: r7827
2003-05-22 14:10:20 +00:00
Max Horn
86d57f3c7a many pedantic warning fixes (and some actual potential buglets fixed, too)
svn-id: r7795
2003-05-21 18:09:49 +00:00
Max Horn
8a82e59065 constness fixes
svn-id: r7787
2003-05-21 16:28:02 +00:00
James Brown
60ac300bf3 Work on V2 inventory hack a little more
svn-id: r7776
2003-05-21 10:13:06 +00:00
James Brown
0c0cb61876 Move stuff around
svn-id: r7775
2003-05-21 09:29:24 +00:00
James Brown
c3803009b4 Fix this damn userface stuff properly :)
svn-id: r7772
2003-05-21 07:22:43 +00:00
Max Horn
49e7f7564a renamed various things for clarity
svn-id: r7754
2003-05-20 20:58:26 +00:00
Max Horn
1a394aa3c7 added enum's for the known actor/object claasses; extended putClass/getClass to translate the X/Y flip classes; made code use the new enum's; some other cleanup
svn-id: r7753
2003-05-20 20:42:28 +00:00
Max Horn
18a6b5dcc1 renamed ScriptSlot::unk1/unk2 to freezeResistant/recursive
svn-id: r7688
2003-05-19 11:31:35 +00:00
Max Horn
b43bca21cb more cleanup
svn-id: r7653
2003-05-18 23:46:30 +00:00
Max Horn
1f616edfcd VAR_CHARCOUNT is a V2 only variable, so I moved its declaration to the other V2 only vars
svn-id: r7651
2003-05-18 23:37:44 +00:00
Max Horn
3576b8e168 yet another V2 sentence fix (now clicking on objects in Zak causes Zak to talk to it - but he gets stuck after some time)
svn-id: r7613
2003-05-17 18:42:31 +00:00
James Brown
2813d48e92 Cleanup
svn-id: r7598
2003-05-17 06:14:08 +00:00
Jonathan Gray
52832cc954 some updates that get us up to the bootscripts of he v7 games before erroring out on unimplemented opcodes
svn-id: r7576
2003-05-16 16:09:16 +00:00
Max Horn
7d08aea4cc SentenceTab unk4/unk3 are the sentence objects (think of: 'Use objectA with objectB' or 'Give objectA to objectB' etc.); added a little more V2 sentence hackery; added a FIXME regarding some strange sentence code (accessing objectB before it is set) in script.cpp
svn-id: r7562
2003-05-16 02:16:59 +00:00
Max Horn
5e756aa8b8 cleanup
svn-id: r7550
2003-05-15 22:48:06 +00:00
Max Horn
7baef4ad4e make some more use of ScummVM::Point; cleanup
svn-id: r7549
2003-05-15 22:41:35 +00:00
Max Horn
f4c7f37743 Make use of ScummVM::Rect
svn-id: r7546
2003-05-15 22:30:32 +00:00
Max Horn
8b419944ee ScummPoint -> ScummVM::Point
svn-id: r7543
2003-05-15 21:57:38 +00:00
Max Horn
82e2d852f1 cleanup
svn-id: r7538
2003-05-15 21:31:03 +00:00
Max Horn
f495c14d84 opcodes are just one byte
svn-id: r7513
2003-05-14 20:37:53 +00:00
Max Horn
bc99915aa5 V2 text drawing
svn-id: r7502
2003-05-14 13:30:52 +00:00
Max Horn
08f7ec192e NUM_ACTORS -> _numActors (for consistency)
svn-id: r7489
2003-05-13 23:42:41 +00:00
Max Horn
0ee0e7f634 cleanup
svn-id: r7488
2003-05-13 23:33:01 +00:00
Max Horn
2838aae2f4 renamed VAR_UNK_SCRIPT to VAR_SAVELOAD_SCRIPT; fixed V8 save/load (no (known) VAR_SAVELOAD_SCRIPT value for V8)
svn-id: r7485
2003-05-13 17:51:56 +00:00
Max Horn
47227fdf77 cleanup (fixes another VC warning, too ;-)
svn-id: r7480
2003-05-12 21:53:36 +00:00
Max Horn
b2d7f502f6 made hasCharsetMask return a bool (fixes VC compilation warnings)
svn-id: r7478
2003-05-12 21:35:56 +00:00
Max Horn
acb35fc915 renamed _scrWidth/_scrHeight -> _roomWidht/_roomHeight, and _realWidth/_realHeight -> _screenWidth/_screenHeight (inspired by MadMoose, but I'll take the blame - still this seems much more logical & intuitive)
svn-id: r7423
2003-05-10 21:49:59 +00:00
Max Horn
f740959216 removed obsolete code; cleanup for my V2 drawBitmap 'hack', which got rid of most of the duplicate code
svn-id: r7416
2003-05-10 17:09:21 +00:00
Max Horn
98881c3a6a init all VAR_* variables to 0xFF; replaced access to _vars in the form _vars[VAR_*] by VARS(VAR_*) which performs a validity checK; renamed _vars to _scummVars to make sure I updated all places; fixed two places where V6 and newer games would access V5 vars (but there are still some left, it seems); checked VAR access for now only generates a warning
svn-id: r7393
2003-05-08 15:48:50 +00:00
Max Horn
fa0df19a1d cleanup / reduced code duplication
svn-id: r7339
2003-05-05 09:19:15 +00:00
Max Horn
aa74ea1d5c yet more v2 fixes & cleanup
svn-id: r7302
2003-05-04 02:27:22 +00:00
Max Horn
9466a5dcef Patch #730800: EGA LOOM: Hack to fix palette problem (also helps MonkeyEGA)
svn-id: r7290
2003-05-03 20:49:53 +00:00
Max Horn
48293bd132 various music related changes and cleanup; also modified MonkeyVGA music sync, at least the intro is much better synced now; not sure about other parts of it / other games
svn-id: r7237
2003-05-01 00:04:05 +00:00
Max Horn
797c222ec7 VAR_V5_DRAWFLAGS == VAR_CURRENT_LIGHTS; fixed bug #601139
svn-id: r7234
2003-04-30 21:30:59 +00:00
Max Horn
2b74abd2c9 PalmOS changes
svn-id: r7224
2003-04-30 13:23:31 +00:00
Max Horn
4ce574f579 cleanup
svn-id: r7215
2003-04-30 11:15:11 +00:00
Paweł Kołodziejski
39f85f7aac added gfx bitmap and zbuffer codec for v2 games
svn-id: r7209
2003-04-30 05:48:55 +00:00
Max Horn
dc7446f469 make it possible to override dump length in Scumm::dumpResource; fix V2 entry script offset (I believe); fix exit script dumping for GF_OLD_BUNDLE games
svn-id: r7176
2003-04-28 13:16:16 +00:00
Jonathan Gray
7529493778 get rid of one of the obscure variable names
svn-id: r7171
2003-04-28 03:13:49 +00:00
Paweł Kołodziejski
caf6d74095 put some v2 code into share code
svn-id: r7148
2003-04-27 07:52:26 +00:00
Max Horn
2d8fa42f44 renamed setCursorHotspot2 to setCursorHotspot; fixed (with a hack) cursor in Loom
svn-id: r7132
2003-04-26 13:28:34 +00:00
Jonathan Gray
90dd401eab work around strange problem that breaks fbpack when _showStack is a bool...
svn-id: r7027
2003-04-20 14:28:25 +00:00
Jonathan Gray
f1353701f8 add stack tracing option to debugger
svn-id: r7025
2003-04-20 08:04:27 +00:00
Jonathan Gray
c597d0d4d6 add script hex dumping option to debugger
svn-id: r7024
2003-04-20 06:55:09 +00:00
Max Horn
9750a2407c lots of unblocked aka GF_OLD_BUNDLE support code (still no load, but gets further :-)
svn-id: r6977
2003-04-12 02:09:00 +00:00
Max Horn
ca7c8081a1 Patch #712493: CMI: Object line
svn-id: r6930
2003-04-07 16:04:30 +00:00
Paweł Kołodziejski
d56673b845 fixed detection of early scumm games
svn-id: r6923
2003-04-06 19:41:34 +00:00
Paweł Kołodziejski
d434b86ddb split waitForTimer func, update for smush,
btw, switching scalers while playing smush movies doesn't work or at least SDL backend,
it hang on SDL_SetVideo func

svn-id: r6818
2003-03-17 12:32:46 +00:00
Max Horn
8fcdb62f74 Patch #686427: SO_ROOM_SATURATION implementation
svn-id: r6810
2003-03-13 02:23:55 +00:00
Paweł Kołodziejski
4a5ffdd9a6 fixed descriptions in the dig
svn-id: r6776
2003-03-08 17:39:18 +00:00
Max Horn
7ec34ab1a9 refactored some stuff (and made readMAXS virtual, with V2/V3 code having own implementations); cleaned up V6 array shuffle code; made more Scumm member vars/methods protected
svn-id: r6751
2003-03-07 21:38:46 +00:00
Paweł Kołodziejski
243c4ffbc0 implemented formating string error for each engine
svn-id: r6744
2003-03-07 15:38:11 +00:00
Paweł Kołodziejski
aa3766018f updated copyrights headers
svn-id: r6726
2003-03-06 21:46:56 +00:00
Paweł Kołodziejski
093428ae9a and more cleanup
svn-id: r6718
2003-03-06 17:58:13 +00:00
Max Horn
f4e147e5d2 removed the single big VersionSettings list; instead, the simon & scumm modules now keep their target lists seperatly (and when we add BASS, it can have its own target list)
svn-id: r6652
2003-03-01 22:04:48 +00:00
Jonathan Gray
af19cac738 patch #689164 comi verb coin hack by erik, fixes the verb coin drawing behind the inventory
svn-id: r6642
2003-02-27 10:17:29 +00:00
Max Horn
afbc458b3c cleanup
svn-id: r6621
2003-02-18 01:51:05 +00:00
Jonathan Gray
d5e8f369a2 change getDateTime to be a v6 opcode, and hopefully not break anything
svn-id: r6619
2003-02-18 00:13:24 +00:00
James Brown
d054457496 Patch #682981: Experimental translation optimisation (version 2), and
#683384: Smush Regression Workaround

svn-id: r6607
2003-02-14 16:01:55 +00:00
Max Horn
cc5df1b543 cleanup
svn-id: r6594
2003-02-08 02:00:22 +00:00
Max Horn
24cba45574 more access cleanup; also reorderd some method/function declarations in class Scumm
svn-id: r6593
2003-02-08 01:27:21 +00:00
Max Horn
5863805e2c more stuff made 'protected'
svn-id: r6592
2003-02-08 00:38:17 +00:00
Max Horn
a6cbfebf6d removed an obsolete member var, and started to make Scumm member vars protected (had to make some exception; the code which makes these exceptions necessary should be revised)
svn-id: r6589
2003-02-06 21:32:20 +00:00
Paweł Kołodziejski
86cbe86b86 increased buffer
svn-id: r6581
2003-02-02 12:50:56 +00:00
Jonathan Gray
80bd149156 add ability to specify language for comi see scummvm -h for possible values
svn-id: r6567
2003-01-29 08:07:10 +00:00
Jonathan Gray
988db178e6 oops.. meant to add this as well
svn-id: r6566
2003-01-29 04:38:55 +00:00
Jonathan Gray
8e9d8cff81 add list of possible languages in comi and relevant variable
svn-id: r6565
2003-01-29 04:16:14 +00:00
James Brown
d1eb2636f4 Patch 671031: Fix for MI1 intro crash + others (move new object
clearing code into a more generic function, and call it earlier)

svn-id: r6548
2003-01-26 10:57:01 +00:00
James Brown
5f7cd1c93d LCA'03 commit: Fix talking where no sound hardware is present
svn-id: r6536
2003-01-24 06:41:10 +00:00
Max Horn
1abc25817e increasing blast text limit for COMI end credits
svn-id: r6508
2003-01-19 03:25:59 +00:00
James Brown
4e07c1bb91 Patch 668634: Actor iteration fix
svn-id: r6484
2003-01-16 17:37:34 +00:00
James Brown
c24c1270f6 Some cleanup, implementation of setKeyScript (F1 now attempts to start the save/load menu, albiet fails due to a crash in BlastText)
svn-id: r6480
2003-01-16 12:47:34 +00:00
Max Horn
8ad002b3a3 first blastText version. this is work in progress (note that e.g. text is not clipped, and the extra information is not removed)
svn-id: r6472
2003-01-16 00:40:19 +00:00
James Brown
ec006a4357 localvar fix take 2. Note that ship-to-ship combat is still impossible (cannons dont work), but at least it doesnt crash now - you
can use the cheat (shift-v i think)

svn-id: r6471
2003-01-15 16:23:04 +00:00
James Brown
631f0e5d4b ComI uses more locals
svn-id: r6470
2003-01-15 15:49:44 +00:00
James Brown
4fde613432 Hack to make Part III start
svn-id: r6467
2003-01-15 13:29:00 +00:00
James Brown
5bf741f960 Patch 667613: Extend gfxUsageBits[]
svn-id: r6453
2003-01-14 10:06:56 +00:00
Max Horn
020a1c3e2d fixed COMI actor scaling, again
svn-id: r6443
2003-01-13 14:04:41 +00:00
Max Horn
eb9726c497 added V8 scaling code
svn-id: r6440
2003-01-13 01:29:45 +00:00
James Brown
ef9a8d0714 New method of local object management. Buggy, segfaults on the Part 1 screen and I don't know why yet..
svn-id: r6416
2003-01-12 07:30:17 +00:00
Max Horn
531e73418f our File class already makes sure we find stuff in the resource subdirectory. Plus, it handles different cases right. So now COMI works from CD on Mac OS X, too
svn-id: r6363
2003-01-08 23:41:27 +00:00
James Brown
9df455ce38 Plop in some better disk switching code for CMI - I have no idea how well this will work transitioning from a disk1 room to a disk2
room in-game, but it works for bootparams and saved games..

svn-id: r6322
2003-01-02 10:36:17 +00:00
Max Horn
535ad0a4cf moved Scumm::faceActorToObj to Actor::faceToObject; moved various functions in script.cpp (grouping cutscene/override related stuff)
svn-id: r6317
2003-01-01 18:22:41 +00:00
Max Horn
805c460543 added yet another variable (for mouse-button-hold flags). Now the 'verb widget' shows up, though it is not erased properly
svn-id: r6304
2003-01-01 02:56:22 +00:00
Max Horn
a03b353dca implemented o8_getDateTime
svn-id: r6295
2002-12-31 17:28:51 +00:00
Max Horn
166ea5bcee get rid of DUMP_SCRIPTS; in its place, added run time option '-u' to enabled script dumping
svn-id: r6284
2002-12-31 02:09:57 +00:00
Max Horn
5f472bdcd0 cleanup
svn-id: r6263
2002-12-29 21:14:28 +00:00
Max Horn
ceac475714 cleanup
svn-id: r6262
2002-12-29 19:54:11 +00:00
James Brown
1a1bcc6695 fix compile
svn-id: r6251
2002-12-29 15:29:12 +00:00
Max Horn
ae5b30df3d get rid of getStringLen and use the more powerful resStrLen instead; moved resStrLen from common/ to scumm/, where it belongs; enhanced resStrLen to suport V8; fixed translateText to support embeded vars (in strings I mean) - it may still not be fully correct but at least is better now; rewrote o6_arrayOps to parallel the V8 version - needs testing
svn-id: r6215
2002-12-28 01:57:19 +00:00
Max Horn
8049e06258 fixed flobject loading in V8
svn-id: r6198
2002-12-27 14:36:28 +00:00
Ruediger Hanke
56b6b10301 Appending another slash breaks COMI on MorphOS and AmigaOS where a double-slash means parent directory ... a slash is already appended by the game detector if required
svn-id: r6192
2002-12-27 11:30:26 +00:00
James Brown
7a57023321 Fix cwd resource path bug for CMI
svn-id: r6191
2002-12-27 04:22:40 +00:00
Max Horn
e744697dbd quick fix for Endy's code - should be redone properly later
svn-id: r6186
2002-12-27 00:38:32 +00:00
James Brown
fd64fc2b6b Move some things around, to get rid of all these resource/ sprintf's for CMI
svn-id: r6182
2002-12-27 00:11:01 +00:00
Max Horn
ad7fefd34e map V8 talk opcodes to the right V6 opcodes; however, talking still locks up after the first sentence is uttered (looking into that now); various cleanup; added a guess at VAR_EGO (based on what cmidec says is the 'default_actor')
svn-id: r6176
2002-12-26 21:50:13 +00:00
Max Horn
966d435a19 fixed verb scripts
svn-id: r6175
2002-12-26 20:37:49 +00:00
Max Horn
7e7be4f6f3 32 bit variables storage
svn-id: r6161
2002-12-26 01:46:36 +00:00
James Brown
d8839f1be6 Don't go to the save/load screen
svn-id: r6157
2002-12-26 01:15:25 +00:00
Max Horn
48c66ba210 fixed save/load; more restructuring of the charset rendering code
svn-id: r6154
2002-12-26 00:21:19 +00:00
Max Horn
748ac8fe37 more cleanup
svn-id: r6149
2002-12-25 21:42:22 +00:00
Max Horn
fca9ec09e7 moved CharsetRendere into its own header/source file; changed Scumm::_charset into a pointer, to make it possible to use different implementations of it
svn-id: r6147
2002-12-25 21:04:47 +00:00
Max Horn
9187172fe2 implemented V8 kernel function 'killAllScriptsButMe' - not sure if I did it right, though
svn-id: r6145
2002-12-25 20:29:40 +00:00
Paweł Kołodziejski
b64c9ebc2b changed name from _insaneFlag to _smushFrameRate
svn-id: r6136
2002-12-25 16:55:43 +00:00
Max Horn
004ea9f8eb converted heaps of int16 to int for V8 compatibility; fixed defineArray for V8; added some work in o8_kludge2
svn-id: r6132
2002-12-25 14:46:39 +00:00
James Brown
bda8d953a8 Clean up the hack. But it's still kinda a hack. Er. :)
svn-id: r6130
2002-12-25 14:31:17 +00:00
James Brown
c480833be7 Hacky font support - first attempt :)
svn-id: r6127
2002-12-25 13:51:01 +00:00
Max Horn
aa2a85de99 fixed bomp cursor in CMI partially - still seeing flickering/tearing/artifacts, though
svn-id: r6124
2002-12-25 12:41:41 +00:00
Max Horn
fef84f3737 renamed Scumm::charset -> Scumm::_charset
svn-id: r6119
2002-12-25 12:01:04 +00:00
James Brown
e1a416c031 Skeleton for hacky font support using Smush's FontRenderer. Doesn't work (uncomment the loadFont line in script_v8 to test).
Aquadran, where are you? :)

svn-id: r6114
2002-12-25 04:30:24 +00:00
Max Horn
1b0963dd76 added (broken) cursor support for V8; enabled bomp drawing
svn-id: r6113
2002-12-25 03:48:27 +00:00
Max Horn
190685dc69 added a map from object names to object ids
svn-id: r6104
2002-12-24 16:10:31 +00:00
Max Horn
6585425c89 set NUM_ACTORS to 80 for COMI; get rid of MAX_ACTORS (use NUM_ACTORS instead); some updates
svn-id: r6086
2002-12-23 23:30:14 +00:00
Paweł Kołodziejski
44bfa413f9 changed numString to numArray
svn-id: r6078
2002-12-23 19:03:08 +00:00
Paweł Kołodziejski
6f5a18228d changed read order of CMI variables (MAXS)
svn-id: r6076
2002-12-23 18:53:04 +00:00
Max Horn
654ed3ff6c more V8 work
svn-id: r6074
2002-12-23 18:30:12 +00:00
Max Horn
58f2ee45cd word size for V8 games is 4 bytes, as opposed to 2 bytes in V6/V7 games. Hence we adjust fetchScriptWord - this way we can reuse all sorts of code (and no, this is not really a hack - word size by tradition is something which varies depending on the architecture, so it is even consistent)
svn-id: r6064
2002-12-23 00:23:36 +00:00
Max Horn
df3c41fa24 added some preliminary V8 work. Nope, it is not useful at all, and it doesn't mean we will have CMI support in this millenium, so don't hold your breath
svn-id: r6060
2002-12-22 21:58:16 +00:00
Max Horn
3ce3a5be5b minor cleanup
svn-id: r6059
2002-12-22 19:14:53 +00:00
Max Horn
060562c277 partial checkin of patch #655594 (handling Y/N questions); cleanup
svn-id: r6042
2002-12-21 12:34:17 +00:00
Max Horn
50f7ffbeb6 got rid of _curVirtScreen and VirtScreen::unk1; added some comments to gfx.cpp; added a hack to enable smooth scrolling in V7 games (note: when I say hack, I mean it, it is buggy as hell and not enabled by default, use at your own risk and don't report problems with it, it's disabled by default)
svn-id: r6037
2002-12-21 01:11:42 +00:00
Marcus Comstedt
83da387eef New savefile backend system (bye bye NONSTANDARD_SAVE...)
svn-id: r6007
2002-12-17 01:15:13 +00:00
Max Horn
99a8e39316 Endy, when I am gonna meet you, I'll have to kick, punch and bite you a bit for using the same name for two entierly different classes, then adding new files (and at the same time not removing obsolete files), and finally using the WRONG BLOODY HEADER. I spent an hour to track this one down
svn-id: r6004
2002-12-16 22:43:37 +00:00
Max Horn
c4b6fa7f70 refactoring: use inheritance to mode the relations between the various engine versions. E.g. the V6 opcodes are now in Scumm_v6, the V5 opcodes in Scumm_v5 (from which we now derive v2-v4. which is a bit odd - maybe we should move the v5 opcodes to Scumm_v3 ?)
svn-id: r5994
2002-12-16 12:12:31 +00:00
Max Horn
20c501ea58 cleanup; reordering stuff in gfx.cpp, trying to group code into logical groups (cursor, bomp, camera, palette, fades)
svn-id: r5985
2002-12-15 23:40:37 +00:00
Max Horn
51b00f4bfc added comparision methods for ScummPoint
svn-id: r5981
2002-12-15 20:53:11 +00:00
Max Horn
df06e3f6fa debugger can now use the console (experimental, and thus disabled by default)
svn-id: r5974
2002-12-15 00:39:33 +00:00
James Brown
7a0a05a49a Commit some junk in-case I don't get time to finish this tonight and Fingolfin starts working on it :)
svn-id: r5949
2002-12-14 10:46:00 +00:00
Max Horn
ddca690c28 cleaned up autosave code
svn-id: r5926
2002-12-13 03:23:17 +00:00
Max Horn
4ca8f4cc48 cleanup
svn-id: r5921
2002-12-13 00:52:14 +00:00
James Brown
ce4690c7c6 Tidy one or two things up for future V1/V2/V8 SCUMM support.
svn-id: r5915
2002-12-12 16:29:21 +00:00
Jamieson Christian
14834cf645 Fixed myriad VC++ compile/link problems.
PLEASE DON'T MAKE CHANGES TO THE ACTUAL PROJECT FILES
UNLESS YOU MAKE THEM FOR *ALL* PRIMARY PORTS!

svn-id: r5900
2002-12-11 01:25:15 +00:00
Max Horn
c168f62bbd cleanup; only now do I see how similiar setupShadowPalette, the new setupShadowPalette and createSpecialPalette are. Throw in remapPaletteColor and darkenPalette and maybe we should restructure the code to have less duplication?
svn-id: r5894
2002-12-09 02:14:17 +00:00
Max Horn
0720fa80c8 cleanup
svn-id: r5893
2002-12-09 01:27:40 +00:00
Max Horn
4ddecdad58 Patch #650085: Make saveload system extensible
svn-id: r5885
2002-12-08 16:14:29 +00:00
Max Horn
95c1f3de15 removed obsolete getDefaultGUIColor and some FIXMEs
svn-id: r5840
2002-12-04 22:34:43 +00:00
Max Horn
df594d41ff even more cleanup
svn-id: r5839
2002-12-04 22:31:36 +00:00
Max Horn
8dd3d2ec29 more cleanup
svn-id: r5837
2002-12-04 21:46:05 +00:00
Max Horn
77a64e0217 more cleanup; fixes out of bound access to _charsetData (but I am not sure if that will be visible anywhere
svn-id: r5833
2002-12-04 15:00:35 +00:00
Max Horn
89335008e9 lots of cleanup to the graphics code; removed various global states (makes it easier to understand the code)
svn-id: r5831
2002-12-04 13:36:27 +00:00
Oliver Kiehl
133f624cc5 moved RNG to common/util.cpp
svn-id: r5778
2002-12-01 14:57:50 +00:00
Max Horn
a730f7f6df more cleanup
svn-id: r5752
2002-11-29 18:27:35 +00:00