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