Commit Graph

291 Commits

Author SHA1 Message Date
Max Horn
6316f83c93 new constant MF_FROZEN; fixed actor unfreeze code
svn-id: r6764
2003-03-08 02:06:56 +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
Jonathan Gray
4c7aaba732 fix typo
svn-id: r6627
2003-02-20 02:10:39 +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
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
James Brown
f9a4b231da fix drawObject
svn-id: r6561
2003-01-27 07:07:55 +00:00
James Brown
7a4f4636ee Theoretically implement O_DRAW_OBJECT - although it doesn't seem to work
svn-id: r6560
2003-01-27 06:51:26 +00:00
Paweł Kołodziejski
dc7a876136 added "implementation" of imGetMusicPosition
svn-id: r6550
2003-01-26 14:26:03 +00:00
James Brown
00f7e562fd Remove a experimental hack that went in by accident
svn-id: r6549
2003-01-26 11:13:46 +00:00
James Brown
8d9b84b98e Patch 671701: SO_TALK_FREQUENCY
svn-id: r6547
2003-01-26 10:54:34 +00:00
James Brown
3dc0535a6b remove debug copy
svn-id: r6546
2003-01-26 06:23:12 +00:00
James Brown
a0b77e7389 LCA03 sync: Modified version of the untrap patch, debugger
savegame/loadgame changes, attempts at making the ComI save/load screen
(F1) work. The savegame part of the screen does not work due to a crash,
the load part SHOULD... but something resets the saveload flags before
they are processed (help! :)

svn-id: r6545
2003-01-26 06:17:25 +00:00
Paweł Kołodziejski
d942441f7f applied patch #674141: CMI: Smush sync tuning
svn-id: r6537
2003-01-25 12:13:41 +00:00
Jonathan Gray
5c128f1c89 I'm pretty sure 0x98 should be O_DRAW_OBJECT in comi but changing it to o6_isSoundRunning lets you pass that point in the game for now
svn-id: r6523
2003-01-20 06:35:34 +00:00
Jonathan Gray
3e50c97ca6 update assertion to be in line with increased blastTextQueue size
svn-id: r6509
2003-01-19 03:35:17 +00:00
Jonathan Gray
e2ebe7ba63 make v8 smush playing honour _noSubtitles
svn-id: r6507
2003-01-19 01:03:29 +00:00
Paweł Kołodziejski
92a53a5bdf tuned a little comi smush
svn-id: r6498
2003-01-18 15:26:37 +00:00
James Brown
d589ecb14b Small change to make actor talk anims look better
svn-id: r6486
2003-01-16 19:23:55 +00:00
James Brown
b1f1a9e4e9 Some notes regarding actorHit
svn-id: r6482
2003-01-16 13:55:57 +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
James Brown
f4dc8c5b1b Play sfx when used by mumble, et-al. (Eg, Wallys sobbing)
svn-id: r6479
2003-01-16 11:40:47 +00:00
Max Horn
d4122d625f added center mode for blastText (and boy, our charset code is *messy* <sigh>)
svn-id: r6473
2003-01-16 00:47:08 +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
4fde613432 Hack to make Part III start
svn-id: r6467
2003-01-15 13:29:00 +00:00
James Brown
e0d2d9f7a0 Fix inventory in vscroll'ing rooms
svn-id: r6455
2003-01-14 11:59:39 +00:00
James Brown
82347203a7 Stub out a few room subops
svn-id: r6444
2003-01-13 14:22:53 +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
Max Horn
ca88dff5e7 work around a script bug in COMI; cleanup; re-enabled array assert
svn-id: r6437
2003-01-12 21:13:22 +00:00
James Brown
2054937003 Implement ComI roomOp
svn-id: r6431
2003-01-12 17:51:12 +00:00
James Brown
f8dce1dc1f Fix ComI inventory crash, properly.
svn-id: r6430
2003-01-12 16:34:05 +00:00
Max Horn
4c7fdebaf2 we don't need the opcode table here anymore
svn-id: r6425
2003-01-12 13:07:40 +00:00
Paweł Kołodziejski
65b161b98c changed to 12 fps for comi smush
svn-id: r6420
2003-01-12 09:49:11 +00:00
Max Horn
47fe35819a don't leak memory each time a smush movie is played in V8 (this also fixes skipping cutscenes)
svn-id: r6410
2003-01-12 01:15:37 +00:00
James Brown
a579558cdb Fix lock/unlock object
svn-id: r6402
2003-01-11 19:21:38 +00:00
Paweł Kołodziejski
d175afbe0c enabled SMUSH for COMI :)
svn-id: r6389
2003-01-10 17:21:22 +00:00
Max Horn
c3657ff637 fixed the 'too many verbs' bug: verbid is 16 bits but was stored in save games as a byte. This means that existing savegames are still affected by the bug
svn-id: r6376
2003-01-09 22:53:21 +00:00
Max Horn
253ddbcfc6 change seems to work on Linux in windowed mode; works on OS X in window/FS mode. Same problem as the old code in FS on Linux, though
svn-id: r6371
2003-01-09 17:06:30 +00:00
Max Horn
1934269872 yet another warp mouse change, now it works on OS X, but will it work on Linux/Windows?
svn-id: r6370
2003-01-09 16:57:09 +00:00
James Brown
2cefb8a4a8 Disable smush again, and apply patch 664890 ('Silencing the music')
svn-id: r6366
2003-01-09 08:23:44 +00:00
James Brown
b946f08105 Patch 664895: Cannon fixes. Yippie. Anyone here familiar enough with SDL to comment on the fullscreen hack?
svn-id: r6364
2003-01-09 08:06:35 +00:00
James Brown
ecb9c2dd74 HACK alert: Don't crash due to this silly verbage bug
svn-id: r6362
2003-01-08 22:47:44 +00:00
James Brown
ca5b32132b enable smush. things arn't exactly working properly yet, and there are some bad memory accesses going on... but it's progress :)
svn-id: r6361
2003-01-08 22:43:03 +00:00
James Brown
6426833420 CMI cannon hack
svn-id: r6350
2003-01-07 08:16:55 +00:00
Max Horn
9270a0558b some chore/limb related code
svn-id: r6348
2003-01-06 16:04:01 +00:00
Max Horn
37a64f5d12 cleanup; added a hack to avoid crash in the canon scene (at least it works this way for me)
svn-id: r6347
2003-01-06 13:41:29 +00:00
Max Horn
ca8ddd6c6e changed 'default case' warning output to hex (as we use that for the case labels)
svn-id: r6341
2003-01-05 22:17:26 +00:00
James Brown
fb02e1f227 Small junk
svn-id: r6331
2003-01-04 15:08:30 +00:00
James Brown
3c3c5bb574 implement temporary state saving for CMI
svn-id: r6321
2003-01-02 08:39:33 +00:00
Max Horn
53a8fc24fe fixed cutscene override in V8; cleanup
svn-id: r6316
2003-01-01 17:57:14 +00:00
James Brown
b5d0e48695 implement roomops case (CMI crypt)
svn-id: r6312
2003-01-01 11:38:59 +00:00
Max Horn
d65915beff added masking to nut charset renderer
svn-id: r6300
2002-12-31 20:52:11 +00:00
Max Horn
b88db70dfb added some comment
svn-id: r6298
2002-12-31 18:21:01 +00:00
Max Horn
f7d6c89ffc setBoxSlot = setBoxScale apparently was right after all
svn-id: r6296
2002-12-31 17:34:04 +00:00
Max Horn
a03b353dca implemented o8_getDateTime
svn-id: r6295
2002-12-31 17:28:51 +00:00
Max Horn
250304c7ee fix opcode that sets actor z cliping. Yeah I know that Guybrush now is drawn wrong - but this change is not the cause for it, it only reveals the problem (which is already causing the canon to be drawn wrong)
svn-id: r6293
2002-12-31 15:26:02 +00:00
James Brown
6038bb85be More CMI opcode work. The Murray scene outside the Voodoo ladys house (-d1 -b201) and the Map (-d1 -b226) now mostly work
svn-id: r6281
2002-12-30 17:05:38 +00:00
James Brown
e2b131bbdb Implement findBlastObject correctly - inventory now works
svn-id: r6273
2002-12-30 11:03:13 +00:00
Max Horn
2a1e07f3e5 added two V8 opcodes; more meaningful error message
svn-id: r6269
2002-12-30 01:40:12 +00:00
Max Horn
57b2e6e4de hm...
svn-id: r6265
2002-12-30 01:17:08 +00:00
Max Horn
974369502a added some comments / system call skeletion
svn-id: r6259
2002-12-29 19:51:10 +00:00
Paweł Kołodziejski
f870d15d42 disabled CMI smush audio, cleanup codec 47, correct path param
svn-id: r6252
2002-12-29 16:58:37 +00:00
James Brown
669e5b8ebc de-verbalise some debug messages (move from debug(1) to debug(2)).. so we can see printDebug lines easier
svn-id: r6227
2002-12-28 12:42:55 +00:00
James Brown
829b2284e4 Correct cursor put opcode slightly
svn-id: r6221
2002-12-28 05:36:52 +00:00
James Brown
f64806f85f Initial (buggy) implementation of CURSOR_SET - the Cannon sequence now almost works, except for a centering bug
svn-id: r6220
2002-12-28 05:26:21 +00:00
James Brown
cdec05af03 Implement MUMBLE
svn-id: r6218
2002-12-28 05:00:45 +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
319facc9c3 cleanup
svn-id: r6214
2002-12-28 00:45:44 +00:00
Max Horn
18e0ac90f4 SO_ACTOR_SPECIAL_DRAW = shadow_mode! Looks much better this way, too :-)
svn-id: r6210
2002-12-27 20:15:24 +00:00
Max Horn
788fd1e718 like rtRoom, rtRoomScripts should never expire while the room they belong too is loaded; this fixes the crash when picking up the fishing rod
svn-id: r6208
2002-12-27 19:48:30 +00:00
Max Horn
12cd4b36da cleanup
svn-id: r6206
2002-12-27 16:55:22 +00:00
Max Horn
7501d7d32c opcode 0xDD (find verb), used for conversations
svn-id: r6205
2002-12-27 16:52:59 +00:00
Max Horn
21226d1fb0 verb ids can be > 255 in V8; more V8 verbop corrections
svn-id: r6204
2002-12-27 16:49:08 +00:00
Max Horn
ad06190dd9 removing some annoying warnings
svn-id: r6203
2002-12-27 15:41:43 +00:00
Max Horn
7e254e6410 almost all scripts that use o8_getStringWidth pass 1 as first parameter, but a few pass 3. So I assume this is a charset id
svn-id: r6202
2002-12-27 15:38:04 +00:00
Max Horn
a236ff9689 o8_getStringWidth also pops on param
svn-id: r6201
2002-12-27 15:34:26 +00:00
Max Horn
fc04f73471 implemented V8 verbops fully, based on V6 - this contains some guessing and may contain mistakes. Also added string width opcode
svn-id: r6200
2002-12-27 15:32:27 +00:00
Max Horn
8049e06258 fixed flobject loading in V8
svn-id: r6198
2002-12-27 14:36:28 +00:00
Max Horn
2367625da4 cleanup
svn-id: r6187
2002-12-27 00:58:21 +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
James Brown
a8b5549fb5 o8 startScript juggling
svn-id: r6181
2002-12-26 23:42:28 +00:00
Max Horn
8f0af0d2f8 group startScript/Object codes (no code change)
svn-id: r6180
2002-12-26 23:24:57 +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
James Brown
5a9b972efd Fix incorrect opcode (now it at least starts the Verb Widget scripts)
svn-id: r6173
2002-12-26 17:30:48 +00:00
Paweł Kołodziejski
91fbd9a351 added missing return
svn-id: r6171
2002-12-26 12:27:04 +00:00
James Brown
f0e31cc23f Update more CMI opcodes. The first room now starts, although actor text crashes if I try and draw it (Fingolfin?).
Object Flags seem to be, suprise, wrong.. as the door to the outside starts open :)

svn-id: r6169
2002-12-26 08:06:33 +00:00
James Brown
608812f683 CMI opcode work
svn-id: r6168
2002-12-26 07:33:47 +00:00
James Brown
3ab9233d60 SMUSH playback opcode
svn-id: r6167
2002-12-26 02:26:38 +00:00
Max Horn
0965c929bc dummy o8_startVideo implementation
svn-id: r6166
2002-12-26 02:18:45 +00:00
Max Horn
f89903a244 added intensity roomops
svn-id: r6164
2002-12-26 02:02:46 +00:00
James Brown
a2340214e9 Allow the CMI logo room to run
svn-id: r6163
2002-12-26 01:54:27 +00:00
Max Horn
a43355a1bf reuse the old (ugly nasty dreaded) string system for V8, too (by supplying a NUT based CharsetRenderer)
svn-id: r6162
2002-12-26 01:47:40 +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
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
Max Horn
aed55eff69 text center mode hack
svn-id: r6144
2002-12-25 20:15:54 +00:00
Max Horn
5c39a82633 two good rules of thumb: don't use typecasts if you don't have to - type cast have a nasty habit of hiding and causing problems. When a method takes a pointer argument, if possible make it const. :-). Cleanup. Fixed font rendering in CMI: you need to call updateDirtyRect() if you modify the screen...
svn-id: r6143
2002-12-25 20:07:09 +00:00
Paweł Kołodziejski
5f5e96e24f added some stuff to lock/unlock object v2
svn-id: r6142
2002-12-25 19:30:59 +00:00
Paweł Kołodziejski
3bab4d4665 added some stuff to lock/unlock object
svn-id: r6141
2002-12-25 19:24:31 +00:00
Max Horn
447ab20369 cleanup
svn-id: r6140
2002-12-25 19:06:31 +00:00
Paweł Kołodziejski
7c7af18bc9 chenged opcode o8_breakHerVar to o6_delayFrames
svn-id: r6139
2002-12-25 18:47:46 +00:00
Paweł Kołodziejski
eb4d0145ff changes in o8_kludge
svn-id: r6137
2002-12-25 17:10:34 +00:00
Max Horn
75085a6077 breakHereVar takes an argument -> Ctrl-C now works again (skips to the 'Part I' screen)
svn-id: r6135
2002-12-25 15:11:49 +00:00
Max Horn
33cddb4c1c use translateText for V8 print opcodes
svn-id: r6134
2002-12-25 15:04:04 +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
4a405b497a get rid of warnings that flood my terminal
svn-id: r6122
2002-12-25 12:25:35 +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
bf41dbdba3 filled in f-kludge stuff, and make it push(0) - now we don't crash anymore
svn-id: r6112
2002-12-25 02:12:12 +00:00
Max Horn
702de7424c more opcodes (we see graphics again, albeit only briefly before it crashes)
svn-id: r6106
2002-12-25 00:04:12 +00:00
Max Horn
13518c3d36 enabled room & local scripts in V8; some more opcodes
svn-id: r6105
2002-12-24 23:26:37 +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
45aec3ef0d more opcodes
svn-id: r6101
2002-12-24 15:23:24 +00:00
Max Horn
f5ef5a9699 opcode 0xE1 = o6_getAnimateVariable ?
svn-id: r6100
2002-12-24 14:39:52 +00:00
Max Horn
2da14e0fa1 more V8 opcodes (mostly rerouting to V6 ones)
svn-id: r6088
2002-12-24 00:41:59 +00:00
Max Horn
fcb708e165 implemented actorOps for V8 (with some guessing involved)
svn-id: r6087
2002-12-23 23:53:29 +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
4c8c6ff84e updated o8_kludge()
svn-id: r6085
2002-12-23 22:13:06 +00:00
Paweł Kołodziejski
6bbd215740 added cases for o8_kludge()
svn-id: r6084
2002-12-23 21:56:26 +00:00
Paweł Kołodziejski
8a6f6da967 added o6_stopSound and fixed compilation
svn-id: r6083
2002-12-23 21:04:14 +00:00
Max Horn
8380596966 don't let unknown V8 codes pass by (it makes debugging pretty hard)
svn-id: r6081
2002-12-23 20:25:47 +00:00
Max Horn
4524d870f3 and more V8...
svn-id: r6080
2002-12-23 19:15:51 +00:00
Max Horn
35f4a42703 skip initCharset for now, till we get it working in V8
svn-id: r6079
2002-12-23 19:08:34 +00:00
Max Horn
897fc9a91b and more V8. Now we again hit the charset limit, but this time caused by the script itself :-)
svn-id: r6077
2002-12-23 18:56:43 +00:00
Max Horn
6d0fd3989c fix jumpTrue/jumpFalse opcodes; slightly better debug output
svn-id: r6075
2002-12-23 18:37:56 +00:00
Max Horn
654ed3ff6c more V8 work
svn-id: r6074
2002-12-23 18:30:12 +00:00
Max Horn
b8240b253c some flesh to the V8 bones
svn-id: r6073
2002-12-23 17:21:09 +00:00
Max Horn
f86eaeaff9 more V8 mods; cleanup
svn-id: r6070
2002-12-23 15:46:53 +00:00
Max Horn
cc5872924e renamed new_1, new_2, new_3 in class Actor
svn-id: r6069
2002-12-23 14:16:43 +00:00
Max Horn
e192142dac resolved some arguments with aquadran about how to go on about this :-). Renamed three v6 opcodes
svn-id: r6068
2002-12-23 12:50:38 +00:00
Paweł Kołodziejski
034bfddd7e changed Dword to Uint32, I hope, Filgolfin will be happy :)
svn-id: r6067
2002-12-23 09:45:20 +00:00
Paweł Kołodziejski
af86ee5032 updated list opcode script v8
svn-id: r6066
2002-12-23 09:14:58 +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
09baac729f why not reuse the V6 opcode implementations, it would seems many of them are identical in V8. Or maybe V8 actually uses 32 bit ops in some places, but then we can still deal with that once we are actually in the position to try run any scripts :-)
svn-id: r6062
2002-12-22 23:51:04 +00:00
Max Horn
1804f44af1 some more V8 opcode flesh
svn-id: r6061
2002-12-22 23:26:10 +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