Commit Graph

3779 Commits

Author SHA1 Message Date
Filippos Karapetis
0fb5429318 Initialize the stack with 'S' or 's' characters, like SSCI does (ultimately, we should not change the stack again like we do in op_link - this is what Sierra is doing). Some cleanup
svn-id: r50207
2010-06-24 09:52:08 +00:00
Filippos Karapetis
bbb29e2650 Fixed script 140 in the Island of Dr. Brain by adding a workaround for it inside op_link
svn-id: r50203
2010-06-24 07:54:02 +00:00
Filippos Karapetis
f65c4f9886 Changed an error in LocalVariables::dereference() back to a warning, as it occurs in 2 places during the intro of LB2 (called from kMemory(peek))
svn-id: r50202
2010-06-24 07:32:34 +00:00
Martin Kiewitz
51ba34df0e SCI: we extended the showBits() rect all the way depending on where the object moved, fixed - fixes kq6cd flickering coin and pq1 flickering locker issue
svn-id: r50190
2010-06-23 20:13:33 +00:00
Filippos Karapetis
6d1f2d1d26 Fixed memory fragmentation warnings in Crazy Nick's games
svn-id: r50188
2010-06-23 17:30:18 +00:00
Martin Kiewitz
72ee20bc4d SCI: cnick-laurabow & cnick-kq are called with -Nw 0 0...
svn-id: r50187
2010-06-23 17:05:54 +00:00
Martin Kiewitz
e7634ee147 SCI: it seems that all cnick games are using the inbetween interpreter
svn-id: r50186
2010-06-23 16:58:42 +00:00
Martin Kiewitz
e39f2ae1c1 SCI: adding cnick-longbow to inbetween sci1.1 in GfxPalette
svn-id: r50185
2010-06-23 16:53:56 +00:00
Martin Kiewitz
496905dcc3 SCI: dont write palette in reorderView() if there is no palette :P
svn-id: r50184
2010-06-23 16:49:03 +00:00
Filippos Karapetis
0a102981f0 Moved the SelectorCache struct inside selector.h, where it belongs, and fixed some header dependencies in the process
svn-id: r50183
2010-06-23 15:23:37 +00:00
Filippos Karapetis
db6c7a3dee Removed a hack with SCI1.1 static selectors, and set them properly. This fixes scaling in the demo of QFG3
svn-id: r50182
2010-06-23 15:08:23 +00:00
Martin Kiewitz
c1d3fd670c SCI: global scaling implemented (hopefully, i'm not sure if it works 100% :P) thx to waltervn for telling me the vocab 994 stuff used for disassembly
svn-id: r50181
2010-06-23 14:06:31 +00:00
Martin Kiewitz
eeba2812c1 SCI: adding some more global scaling code, adding vanishingY and vanishingX as selectors
svn-id: r50180
2010-06-23 13:42:09 +00:00
Martin Kiewitz
3bc011357b SCI: some initial work on global scaling
svn-id: r50179
2010-06-23 12:58:14 +00:00
Martin Kiewitz
f0145e6dcd SCI: implementing boundary checking for GfxPalette::createFromData(), sq5 has a broken picture 0 resource, which would result in either crash or at least bad read from memory depending on whats read there
svn-id: r50178
2010-06-23 11:47:14 +00:00
Martin Kiewitz
b68180efe5 SCI: added nicks picks sq to the sci1.1 interpreter games, the other ones may also use the same interpreter, but we currently can not verify
svn-id: r50172
2010-06-22 21:58:55 +00:00
Martin Kiewitz
04c04ff01e SCI: eco quest 1 demo also uses inbetween sci1.1 interpreter, fixing graphics
svn-id: r50170
2010-06-22 21:24:52 +00:00
Martin Kiewitz
d8968ee5b9 SCI: reversing r50168, demo is using the same offTop as well (demo.bat)
svn-id: r50169
2010-06-22 21:05:34 +00:00
Martin Kiewitz
93b2336aa2 SCI: demo of fairy tales uses regular offTop
svn-id: r50168
2010-06-22 21:01:34 +00:00
Martin Kiewitz
a836f965f8 SCI: set offTop to 26 for mixed up fairy tales to fix all sorts of non-fully-removed windows
svn-id: r50166
2010-06-22 20:40:41 +00:00
Martin Kiewitz
38cf6aa3e4 SCI: implemented kAssertPalette and a palvary fix for ::set, fixes erana's place in qfg1vga nighttime
svn-id: r50162
2010-06-22 19:01:43 +00:00
Filippos Karapetis
56bf0c0e63 Fixed kMergePoly after discussing with waltervn so that it correctly returns a pointer to an empty (for now) polygon array. This means that you can walk over enemy bodies after killing them in QFG1VGA, but at least it fixes the crashes after killing monsters
svn-id: r50160
2010-06-22 18:33:19 +00:00
Filippos Karapetis
3a394793b6 Fixed 2 crashes in QFG1VGA, when dying:
- Ignoring a non-game breaking script bug (modifying the "longSong" object with argc = 2)
- Don't pop the callk stack frame if the stack is empty - fixes a crash when restoring from the death screen

svn-id: r50157
2010-06-22 18:25:15 +00:00
Martin Kiewitz
079e5c3135 SCI: fixed typo
svn-id: r50154
2010-06-22 17:13:44 +00:00
Martin Kiewitz
9ca43423b4 SCI: kPalVary(SetTarget) implemented
svn-id: r50153
2010-06-22 17:05:00 +00:00
Martin Kiewitz
3c4bfa6cac SCI: removing unneeded capacity uint from r50143
svn-id: r50147
2010-06-22 15:45:59 +00:00
Martin Kiewitz
66c286d096 SCI: kPalVary(setTarget) now triggers an error
svn-id: r50146
2010-06-22 15:33:46 +00:00
Matthew Hoops
bb9f556c36 Add support for the QFG3 demo audio map and audio resources. Based on a patch by Walter.
svn-id: r50144
2010-06-22 15:18:55 +00:00
Martin Kiewitz
a82ca9de5c SCI: change midi queue to Common::Array and make it resize itself if needed instead of error()
svn-id: r50143
2010-06-22 15:05:09 +00:00
Filippos Karapetis
c28fa2cf19 Reverted the code which handles objects without a base object when loading, for now. This possibly indicates an issue related to the garbage collector
svn-id: r50142
2010-06-22 15:03:19 +00:00
Filippos Karapetis
5855cd7127 The volume subop of kDoAudio returns the previous volume in SCI2.1, but not in earlier versions
svn-id: r50141
2010-06-22 15:01:45 +00:00
Filippos Karapetis
53b82298e8 Stop saving the buffer, script and heap sizes of each script in saved games
svn-id: r50137
2010-06-22 08:57:25 +00:00
Matthew Hoops
727841ef91 In SCI32, kDoAudio subop 10 is no longer CD audio. Just stub it off for now.
svn-id: r50134
2010-06-21 22:58:33 +00:00
Martin Kiewitz
b5dffc5aa3 SCI: fades already send out commands directly
svn-id: r50131
2010-06-21 22:15:33 +00:00
Martin Kiewitz
1041067a0c SCI: instead of queueing inside midiparser, we are queueing now globally in SciMusic, also some little cleanup
svn-id: r50130
2010-06-21 22:07:03 +00:00
Max Horn
bbad3f333a Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
2010-06-21 21:36:36 +00:00
Filippos Karapetis
9d5d9e13ae Fixed the demo of Hoyle 4 by adding two selectors it needs "syncTime" and "syncCue". Usually, games that need them are CD talkie versions which have a selector vocabulary, but Hoyle 4 is an exception
svn-id: r50122
2010-06-21 21:25:13 +00:00
Filippos Karapetis
97dd94019c When loading or restarting, stop script processing if the game is being loaded or is restarting and the stack position has changed (it's always changed when loading) - fixes the case where the VM is trying to parse an invalid script
svn-id: r50121
2010-06-21 20:17:59 +00:00
Matthew Hoops
0ab7a16e45 Fix the Hoyle 4 (Hoyle Classic) demo's top offset. It currently errors out later from lacking a selector (static selector problem).
svn-id: r50118
2010-06-21 19:07:41 +00:00
Matthew Hoops
9ecbffe11a Add a workaround for a MUMG script bug, MUMG now works again.
svn-id: r50117
2010-06-21 15:51:04 +00:00
Martin Kiewitz
4a4fcb19dd SCI: added fixme about r50110/r50073
svn-id: r50115
2010-06-21 15:05:48 +00:00
Martin Kiewitz
cfcf53bec0 SCI: fix regression of r50073, allNotesOff() now directly sends to driver again. If we send to queue, queue will never actually get processed and even if it was, the channels wouldnt be mapped anymore anyway
svn-id: r50110
2010-06-21 10:51:14 +00:00
Martin Kiewitz
8fce660090 SCI: also set throttle trigger on kPalette(animate)
svn-id: r50109
2010-06-21 10:40:48 +00:00
Martin Kiewitz
98196b8af6 SCI: GfxPalette::kernelSetIntensity() now also triggers throttler - somewhat "fixes" lb2cd when selecting play game
svn-id: r50108
2010-06-21 10:14:04 +00:00
Matthew Hoops
473ae1c11e Cleaner fix for the QFG4 demo audio map problem.
svn-id: r50104
2010-06-20 23:41:54 +00:00
Matthew Hoops
72534afea9 Ignore the broken 65535x.map file in the QFG4 demo, mistakenly picked up when checking for patches. Audio now works there.
svn-id: r50102
2010-06-20 22:30:20 +00:00
Martin Kiewitz
7694993bef SCI: fixed typo
svn-id: r50101
2010-06-20 21:14:46 +00:00
Martin Kiewitz
6f195ae5a4 SCI: implemented kPalVary(changeTicks)
svn-id: r50100
2010-06-20 21:12:15 +00:00
Martin Kiewitz
4a83b2c5f6 SCI: properly implement kPalVary functionality within kDrawPic and transitions, so pharkas finally works w/o palette corruption
svn-id: r50099
2010-06-20 20:52:31 +00:00
Martin Kiewitz
66b9eaac34 SCI: adding timestamp update for frameout, fixes gk1 windows main menu
svn-id: r50094
2010-06-20 20:09:07 +00:00