Commit Graph

25790 Commits

Author SHA1 Message Date
Robert Crossfield
08e3866395 SCUMM: Animation Fixes 2012-02-11 08:29:24 +01:00
Robert Crossfield
65fb1f9a09 SCUMM: Fix the animation system, rename the Limb Frame Repeat variable 2012-02-11 08:29:22 +01:00
Tobias Gunkel
e3f9a09d49 SCUMM: keep track of the number of nested script calls for a sentence
command in v0

If for instance an object necessary for the sentence command is not reachable or pickupable (try to use faucet (object 55) with jar with water in microwave (object 50), the pick-up script of the jar will tell the actor to pickup object 99 (jar not in microwave)) the actor will try to pick-up the jar infinitely.
This is fixed by counting the amount of nested scripts the sentence command has called (directly or indirectly) so far and aborts it if there have been too many.
2012-02-11 08:29:21 +01:00
Tobias Gunkel
fb68456541 SCUMM: complete handling of pending walkTo actions for sentence commands
in v0
2012-02-11 08:29:19 +01:00
Tobias Gunkel
1da715719c SCUMM: handle actor freeze in walkToActorOrObject() 2012-02-11 08:29:18 +01:00
Tobias Gunkel
b0201a8df2 SCUMM: fix o_setObjectName()
The parameter can either be a FG or BG object depending on the opcode.
2012-02-11 08:29:16 +01:00
Tobias Gunkel
b31157cee3 SCUMM: delete some obsolete v0 TODOs 2012-02-11 08:29:14 +01:00
Tobias Gunkel
96f8fc6ca9 SCUMM: Fix actor ID handling in v0
Some object functions allow actor IDs and object IDs as parameters. They are easily distinguishable in engines > 0 as actor IDs are < _numActors and object IDs are bigger. In v0 this is not the case as there are objects with IDs like 3 and 5 (e.g. the hamster). So object ID handling was unified for v0 and the other engines by introducing objIsActor(), objToActor() and ActorToObj().
2012-02-11 08:29:13 +01:00
Tobias Gunkel
fd4a3501ed SCUMM: fix saving of array _byte_FCE2 2012-02-11 08:29:11 +01:00
Tobias Gunkel
7d4ffb1ec0 SCUMM: fix resetAllSounds() in player_sid
It actually was stopMusic() before and so stopped only the music and not all sounds.
The former implementation is for the o_stopMusic opcode which is not supported directly by ScummVM (it always stops all sounds). It is kept as stopMusic_intern() but is not used anymore.
2012-02-11 08:29:10 +01:00
Tobias Gunkel
00dcc63e8f SCUMM: remove unimplemented und unused method startMusic() in pce and apple2 players 2012-02-11 08:29:08 +01:00
Tobias Gunkel
124e8926ba SCUMM: do not convert a savegame twice 2012-02-11 08:29:07 +01:00
Tobias Gunkel
f22bbc47b4 SCUMM: fix v0 mode handling and actor switching
- handle mode switching correctly
  - do not freeze scripts in cutscene mode (mode 0), as some scripts are freezed in mode 0 that should not be freezed
  - kModeNoNewKid (mode 2) needs the same userState as mode 3
- rename o_cursorCommand to o_setMode as it is not really cursor specific
- handle actorHiding correctly (do not set costume to 0 as the previous costume cannot be reverted after hiding)
- add drawSentence
- document meanings for actor misc flags
- fix actor names for "new kid" if the radiation suit is used (all kids are set to 0 then with actor 0 name " ")
- cleanup actor switching routine
- _userPut is not used anymore in v0
2012-02-11 08:29:05 +01:00
Tobias Gunkel
2f1336cdf0 SCUMM: fix blank sentence line in v0 after cutscenes and remove unused parameter of resetSentence() 2012-02-11 08:29:03 +01:00
segrax
a999aa39ba SCUMM: Re-arrange some things to make it closer to the original 2012-02-11 08:29:02 +01:00
segrax
e331421eae SCUMM: Save the new variables, move the setting of the unknown variable to after the setDirection call 2012-02-11 08:29:00 +01:00
segrax
e2d45467bb SCUMM: improve unknown variable support, add case 0xff to the animateactor opcode 2012-02-11 08:28:59 +01:00
Tobias Gunkel
f2c3675ed1 SCUMM: v0 opcode review
- o_setObjectName has a default value
- o_putActorAtObject can either operate on a fg or bg object

Note: neither the default value nor the bg object opcode (4E) seem to be ever used by any script. So this commit is rather for completeness than for bug-fixing.
2012-02-11 08:28:57 +01:00
Tobias Gunkel
6d4b710c54 SCUMM: fix opcode walkToObject in v0
Before Michael did not develop the film correctly
2012-02-11 08:28:56 +01:00
Tobias Gunkel
0bae642453 SCUMM: 2nd try to fix dungeon door timing
Shorten the timer delay does not work as escaping with a second kid is not possible too. Instead decrease engine speed during script execution.
2012-02-11 08:28:54 +01:00
Tobias Gunkel
4519e56e5c SCUMM: shorten delay for dungeon door closing action
Escaping with only one kid should not be possible anymore.
2012-02-11 08:28:52 +01:00
segrax
cbae5c79b7 SCUMM: Change vars to ints, remove unused variable for now 2012-02-11 08:28:51 +01:00
Tobias Gunkel
347035385e SCUMM: merge object v0 id and type into one object var 2012-02-11 08:28:49 +01:00
Tobias Gunkel
8141511e2f SCUMM: fix ScummEngine_v0::ifEqualActiveObject2Common() parameter name 2012-02-11 08:28:48 +01:00
Tobias Gunkel
c138ef6709 SCUMM: merge _activeObjectNr/_activeObjectType and _cmdObjectNr/_cmdObjectType 2012-02-11 08:28:46 +01:00
Tobias Gunkel
f2309998ff SCUMM: fix debugger for v0 2012-02-11 08:28:44 +01:00
Tobias Gunkel
6ca91a2be5 SCUMM: Fix actor behind man-eating plant issue in v0.
Thanks segra for finding how it works in the original interpreter. The plant is handled specially and 0 is used instead of its y-position.
2012-02-11 08:28:43 +01:00
segrax
b999fe9e26 SCUMM: Add in support in v0 for the unknown variable to o_animateActor 2012-02-11 08:28:41 +01:00
Tobias Gunkel
621017ce65 SCUMM: remove some NOTEs/TODOs
- o5_breakHere() seems to be still needed. For example edna does not manage to walk up the ladder if this is not enabled.
- numLocalObjects seems to be big enough so that < instead of <= can be used. The original interpreter only uses the local ids 0 .. 44 whereas scummvm has _numLocalObjects set to 200.
2012-02-11 08:28:40 +01:00
Tobias Gunkel
ffcd600461 SCUMM: make what-is verb work in v0 again 2012-02-11 08:28:38 +01:00
Tobias Gunkel
4bc726b995 SCUMM: reset object2 in v0 correctly
This fixes the issue that a kid will not enter the front door after opening it with the key.
2012-02-11 08:28:36 +01:00
Tobias Gunkel
e89dd623ef SCUMM: pop stack in v0 if command's object1 and 2 are the same
Otherwise the command will never be removed and the stack overflows
2012-02-11 08:28:35 +01:00
Tobias Gunkel
e14bc5fd6d SCUMM: improve verb and sentence handling
- execute sentence if verb was clicked twice
- reuse the first object if a new verb is selected (but no preposition is used yet)
2012-02-11 08:28:33 +01:00
Tobias Gunkel
8392d23e6b SCUMM: reset sentence line in v0 if sentence executed 2012-02-11 08:28:32 +01:00
Tobias Gunkel
df07d2db29 SCUMM: fix a regression in v0
Found by segra.
2012-02-11 08:28:30 +01:00
Tobias Gunkel
c010da00a4 SCUMM: click into sentence line in v0 now performs the action 2012-02-11 08:28:29 +01:00
Tobias Gunkel
32945904d5 SCUMM: fix kid selection in v0
The kid names are now displayed in the sentence line (instead of the verb area) as it is done in the original.
2012-02-11 08:28:27 +01:00
Tobias Gunkel
b337823bab SCUMM: fix verb and script handling
- getVerbEntrypoint() should not handle walk-to differently (revert 0x0D handling back to original behavior)
- VAR_ACTIVE_ACTOR actually is VAR_ACTIVE_OBJECT2
- runSentenceScript(): "if (_cmdVerb == kVerbWalkTo)" must be "if (_cmdVerb != kVerbWalkTo)"
2012-02-11 08:28:26 +01:00
Tobias Gunkel
c16ef940a1 SCUMM: make START-button in mm c64 kid selection screen work again 2012-02-11 08:28:24 +01:00
Tobias Gunkel
de0b5f7674 SCUMM: use command stack and SentenceTab in mm c64
- MM C64 uses command stack (SentenceTab, doSentence()) now
- _cmdObject... added for current SentenceTab. The _active... variables are only used to build a sentence in the inventory but never by a script.
-> many routines are not needed anymore and are removed
2012-02-11 08:28:22 +01:00
Tobias Gunkel
d8b435917d SCUMM: mm c64 cleanup 2012-02-11 08:28:21 +01:00
Tobias Gunkel
706b8cf1c5 SCUMM: replace verb, prep and currentMode values with symbolic constants 2012-02-11 08:28:19 +01:00
Tobias Gunkel
b01f601d7e SCUMM: use constants for c64 actor miscflags 2012-02-11 08:28:18 +01:00
Tobias Gunkel
6b5abf6919 SCUMM: selecting inventory objects and inventory scrolling works again 2012-02-11 08:28:16 +01:00
Tobias Gunkel
1c32000a00 SCUMM: start handling object type and id correctly in mm c64
- removed complicated and unnecessary _v0ObjectIndex, _v0ObjectInInventory, _v0ObjectFlag vars
- started to merge object id and type into one object value (type<<8|id)
- verb preposition ids do not dependent on language -> remove from VerbSettings

Note:
- objects with type=0 are foreground objects. They have a state, an owner and a bg overlay image.
- objects with type=1 are bg objects. They do not have a state or owner and are already contained in the bg image. The do not have an entry in objectState/OwnerTable
2012-02-11 08:28:14 +01:00
Tobias Gunkel
c69a52853c SCUMM: remove unneeded verbPrep() calls 2012-02-11 08:28:13 +01:00
Tobias Gunkel
a709a42319 SCUMM: fix ScummEngine_v0::o_stopCurrentScript() 2012-02-11 08:02:34 +01:00
Tobias Gunkel
a79f224c23 SCUMM: changed handling of _activeInventory/_activeActor to _activeObject(2)/_activeObject(2)Type
Note: the transition is not completed yet. The code compiles but is probably not runnable as not every occurrence of _activeInventory has been properly replaced.
The usage of _v0ObjectIndex and _v0ObjectInInventory should be revised too and both variables should be replaced by another mechanism (maybe by using a single variable "obj = (type << 8) | id").

- moved v0 only vars _activeInventory, _activeObject, _activeVerb from  ScummEngine_v2 to ScummEngine_v0
- removed _activeActor, _activeInvExecute, _activeObject2Inv and _activeInventory. They are handled by _activeObject/_activeObjectType and _activeObject2/_activeObject2Type now.
- removed _activeObject(2)Index as they only bloat the code without any benefit (?)
- merge prep-name tables from ScummEngine_v2::drawPreposition() and ScummEngine_v0::drawSentenceWord() by introducing ScummEngine_v2::drawPreposition()
- rename ObjectData.flags -> obj_type (quick-fix only, needs review! Maybe obj_nr and obj_type can be merged into one var: obj_nr = (obj_type << 8) | obj_nr)
- o_unknown2 is negation of o_ifActiveObject (o_ifNotEqualActiveObject2)
- renamed o_ifActiveObject -> o_ifEqualActiveObject2 as it acts only on _activeObject2
- renamed ScummEngine_v0::drawSentenceWord() -> ScummEngine_v0::getObjectName()
2012-02-11 08:02:32 +01:00
Tobias Gunkel
c9ae5f3838 SCUMM: Fix pickupObject() 2012-02-11 08:02:30 +01:00
Tobias Gunkel
3e2012483d SCUMM: make verbs working better 2012-02-11 08:02:29 +01:00
Tobias Gunkel
1e7ea7f95e SCUMM: Fix bug with tracker ID 3072094
MANIAC C64: Bug while getting the stamps from the parcel - ID: 3072094
MMC64: use stamps with envelope - ID: 3095595
2012-02-11 08:02:27 +01:00
Tobias Gunkel
05f853edd7 SCUMM: Fix meteor actor index
- Now the correct actor name is shown with "give ... to meteor". Formerly the name was "".
- Add actor names that do not have a string assigned
2012-02-11 08:02:25 +01:00
Tobias Gunkel
2acd5a8239 SCUMM: Fix sound playback if fast-mode is on
Sounds are played that fast in fast-mode that the queue gets stuck.
This is just a workaround and only fixes the symptoms. Check the queue handling for a correct fix.
2012-02-11 08:02:23 +01:00
Tarek Soliman
edc5249772 JANITORIAL: Fix template definition whitespace 2012-02-10 21:17:27 -06:00
Eugene Sandulenko
0deea6fbf8 Merge pull request #177 from BenCastricum/5db023646a8c685469bfe9dc551a282f8240ae04
SCUMM: Use regular detection algorithms for FMTOWNS demos.
2012-02-10 03:46:50 -08:00
Strangerke
3f6f814c6a TSAGE: R2R - Fix error in scene 1337
Thanks to LordHoto for reporting it
2012-02-10 07:12:11 +01:00
Strangerke
9e6e286db7 TSAGE: R2R - Fix glitch in scene 180
Thanks to LordHoto for reporting it
2012-02-10 07:11:20 +01:00
Johannes Schickel
6b16fe9423 TSAGE: Fix compilation by passing non-POD via pointer through "...".
The other uses seem to pass Common::Point via a pointer to the object too,
so this seems fine to do here too.
2012-02-09 23:10:12 +01:00
Strangerke
4b2938c9d0 TSAGE: R2R - Very preliminary implementation of scene 1337 2012-02-09 22:59:33 +01:00
D G Turner
0d6b4df014 DREAMWEB: Remove uneeded duplicate function "printUnderMon". 2012-02-08 17:18:35 +00:00
Alyssa Milburn
b9a93f354b Revert "SKY: Map the floppy intro track."
This reverts commit 0599145ecf.
This mapping was incorrect, 503 is the outro.
2012-02-07 13:20:50 +01:00
Paul Gilbert
2855735e1f TSAGE: Properly de-select inventory buttons when mouse has moved off before mouse is released.
This fixes bug #3484777.
2012-02-06 22:03:10 +11:00
Paul Gilbert
e81d1848d1 TSAGE: Add detection entry for Blue Force Spanish CD 2012-02-06 21:42:58 +11:00
Paul Gilbert
4a806d885a TSAGE: Clean up the dead code introduced for R2R 2012-02-05 20:40:03 +11:00
Paul Gilbert
45e61b985c TSAGE: Fix problem with scrolling wide scenes. 2012-02-05 20:31:56 +11:00
Paul Gilbert
27360d2071 TSAGE: Initial implementation of R2R Scene 180 2012-02-05 13:20:18 +11:00
Willem Jan Palenstijn
e8ef680400 TOUCHE: Add two missing accented letters to Spanish charset.
The A-acute, I-acute, O-acute and U-acute seem to be missing from the font,
and are now all remapped to their unaccented ASCII variants. I and A
were added by 303333352a, and this patch adds O and U.
This is assuming the CP850 encoding, which is not entirely verified.

See bugs #2040311 and #3483383.
2012-02-04 22:20:58 +01:00
Alyssa Milburn
9f8520fb81 QUEEN: Fix clicking at the pinnacle.
Check where the click was *before* scrolling the view, so that
it works with a touchscreen. Also, check shouldQuit() here.
2012-02-04 19:49:52 +01:00
Willem Jan Palenstijn
6fed44298e TOUCHE: Add charset debug channel
This is intended to help debug the missing Spanish characters reported
in #2040311 and #3483383.
2012-02-04 14:13:26 +01:00
Alyssa Milburn
7e9b0114d8 HUGO: Fix keyHandler (noticed by Strangerke). 2012-02-02 12:40:25 +01:00
Strangerke
c222afc933 TSAGE: R2R - Avoid a crash in scene 700 2012-02-02 00:31:25 +01:00
Strangerke
4aa494c19b TSAGE: R2R - Implement scene 700 2012-02-01 22:10:59 +01:00
Johannes Schickel
96853b234c ENGINES: Get rid of unnecessary friend in EngineManager. 2012-02-01 19:22:55 +01:00
Strangerke
81bc722605 TSAGE: R2R - Implement scene 900 2012-01-31 23:36:52 +01:00
Paul Gilbert
23a497f792 TSAGE: Minor cleanups for R2R scene 180 2012-01-31 22:41:36 +11:00
Paul Gilbert
d1db4a48ed TSAGE: Implement R2R Scene 205 - Star-field Credits 2012-01-31 22:23:55 +11:00
Paul Gilbert
e4e7827f77 TSAGE: Properly handle resetting flags when leaving a scene 2012-01-31 22:20:30 +11:00
Strangerke
4dffd4c1db TSAGE: R2R - Fix a couple of compilation errors not detected by MSVC
Thanks Kirben for pointing those
2012-01-31 01:02:37 +01:00
Strangerke
3e8547ebc1 TSAGE: R2R - Implement scene 600 2012-01-30 23:52:05 +01:00
athrxx
cf8a6dcd83 KYRA: (EOB) - fix typo 2012-01-30 22:23:06 +01:00
Strangerke
d34cf09608 TSAGE: R2R - Implement scene 525 2012-01-30 17:23:43 +01:00
Strangerke
c1352a1ae5 TSAGE - R2R: Implement scene 1750 2012-01-30 17:17:30 +01:00
Strangerke
14523275a3 TSAGE: R2R - Implement scene 3500
This required a fix for direct draw code
2012-01-30 01:17:56 +01:00
Torbjörn Andersson
5e50948e9d KYRA: Remove unnecessary semicolon 2012-01-29 21:41:23 +01:00
Torbjörn Andersson
54041675e5 TOLTECS: Some formatting fixes. 2012-01-29 21:41:16 +01:00
Johannes Schickel
fa401a2d3d SCI: Remove unnecessary break after return statement. 2012-01-29 16:34:41 +01:00
Johannes Schickel
21fb4af154 SWORD25: Return 0 instead of false in Screenshot::createThumbnail.
This should "fix" a g++ warning.
2012-01-29 16:33:43 +01:00
Johannes Schickel
f11b52a097 KYRA: Prevent unnecessary removal of const in some casts. 2012-01-29 16:26:20 +01:00
Travis Howell
0ceeee8148 SCUMM: Add script number differences in SCUMM V0, for two work arounds in Maniac Mansion. 2012-01-29 17:07:38 +11:00
Sven Hesse
885a29a1de GOB: Fix a segfault 2012-01-29 00:12:11 +01:00
Sven Hesse
2f7ae1109b GOB: Add a cheat debug command
- Cheat the Diving minigame to a win
- Get the mastermind solution
2012-01-29 00:10:11 +01:00
Sven Hesse
caeae1a7d6 GOB: Pick the pearl at the right frame of the animation
And make the pearl picking a bit less...picky.
2012-01-28 23:29:47 +01:00
Sven Hesse
1eb7c7507b GOB: Minor cleanup 2012-01-28 22:55:12 +01:00
Sven Hesse
0627a4244d GOB: Play the lungs animation when breathing 2012-01-28 22:29:19 +01:00
Sven Hesse
9fba98415d GOB: Don't play a hurt animation right before Oko dies 2012-01-28 20:09:58 +01:00
Sven Hesse
c161cc1232 GOB: Fade the Diving minigame in 2012-01-28 20:08:13 +01:00
Sven Hesse
c0d0792ccf GOB: End the Diving minigame when Oko is dead 2012-01-28 19:55:55 +01:00
Sven Hesse
4b60a761a0 GOB: Explicitely set the Diving palette 2012-01-28 19:53:26 +01:00
Sven Hesse
3a95cdf961 GOB: Correct the variable value for the Diving result 2012-01-28 19:45:27 +01:00
Sven Hesse
0eeae6e59e GOB: Oko gets hurt by fish and dies if health == 0 2012-01-28 19:45:02 +01:00
Sven Hesse
60306c40ac GOB: If there's no air left, Oko dies 2012-01-28 18:03:00 +01:00
Sven Hesse
7650fca040 GOB: Air gets used up and is refilled by breathing 2012-01-28 17:46:38 +01:00
Sven Hesse
9dd7035327 GOB: Add the air and health meters in Geisha's Diving minigame 2012-01-28 17:46:38 +01:00
Johannes Schickel
827cdbd22e AGOS: Make ArchiveMan a proper sub-type of SearchSet.
Now all of the Archive API is implemented to avoid possibly inconsistent
behavior when an ArchiveMan object is accessed via a class type higher in the
class hierachy.
2012-01-27 20:35:34 +01:00
Johannes Schickel
a231f9d5dd AGOS: Rename ArchiveMan's open to createReadStreamForMember to match our Archive API. 2012-01-27 20:30:02 +01:00
Johannes Schickel
a7cc5bd301 AGOS: Properly overwrite hasFile from SearchSet in ArchiveMan.
Formerly the hasFile method was non-const, thus did not overwrite the virtual
hasFile method of SearchSet. Since all accesses to this function have been
done through a ArchiveMan typed variable, the missing overwrite should not
have caused any trouble.

It looks like this was forgotten in a6ec4f70da.
2012-01-27 20:10:31 +01:00
Sven Hesse
0fd9abfe01 GOB: Play the correct animation when Oko's picking up pearls 2012-01-27 15:07:26 +01:00
Sven Hesse
cf45f49f72 GOB: Picking up pearls 2012-01-27 14:55:32 +01:00
Sven Hesse
8414627216 GOB: Play Oko's breathing sound 2012-01-27 14:45:41 +01:00
Sven Hesse
9d348f46ad GOB: Add a controlable Oko to Geisha's Diving minigame
Still missing:
  - Air, constantly decreasing, fill up with breathing
  - Health, decreases by collision with evil fish
  - Death, when health == 0
  - Picking up pearls
2012-01-27 14:27:16 +01:00
Sven Hesse
e0209358b7 GOB: Add pearls scrolling by on the ocean floor 2012-01-26 21:13:38 +01:00
Sven Hesse
a19eb26485 GOB: Add the background plants in Geisha's Diving minigame 2012-01-26 19:47:03 +01:00
Ben Castricum
5db023646a SCUMM: Use regular detection algorithms for FMTOWNS demos. 2012-01-26 18:06:10 +01:00
Johannes Schickel
baafd74b66 AGOS: Fix silly copy&paste mistake, which broke Vorbis and MP3 support. 2012-01-26 01:35:06 +01:00
Johannes Schickel
c82a75df69 AGOS: Rework digital sound playback.
The BaseSound class does now only save the sound filename instead of a file
handle. When a new sound is started a new file handle is created, which
assures that each sound uses a different file handle and thus allows for
directly streaming sounds from disk.

This fixes bug #3475610
"AGOS: Wrong sound effects during intro of Simon 2 (DOS)".
2012-01-26 01:01:41 +01:00
Strangerke
dd46de7569 TSAGE: Fix compilation, sorry 2012-01-25 22:20:34 +01:00
Strangerke
db26984ed4 TSAGE: R2R- Implement scene 1950 2012-01-25 22:08:40 +01:00
Strangerke
aec3a92377 TSAGE: R2R - Implement several missing functions in scene1550 2012-01-23 12:42:04 +01:00
Strangerke
2820573b43 TSAGE: R2R - Fix a couple of bugs in scenes 1925 and 1945, some renaming 2012-01-23 09:50:18 +01:00
Strangerke
e4d6d4780b TSAGE: R2R - Implement scene 1945 2012-01-23 00:58:42 +01:00
Strangerke
888c341c7a TSAGE: R2R - Implement scene 1925 2012-01-22 11:50:15 +01:00
Paul Gilbert
4e118ccf98 TSAGE: Implemented R2R Scene 500 2012-01-22 13:16:09 +11:00
Johannes Schickel
1758845af5 KYRA: Fix out of bounds access caused by a typo.
Thanks to dhewg for pointing this one out.
2012-01-21 19:31:12 +01:00
Paul Gilbert
d62e1f28cb TSAGE: Fix parenthesis in R2R scene 160 2012-01-21 19:52:14 +11:00
Paul Gilbert
cb1eaf4134 TSAGE: Implemented R2R Scene 160 - Credits 2012-01-21 14:15:51 +11:00
Strangerke
1c84ef4738 TSAGE: R2R - Implement scene 1900 2012-01-20 23:39:37 +01:00
Strangerke
0f67509456 TSAGE: R2R - Implement scene 1875 2012-01-20 19:45:24 +01:00
Strangerke
69a2c72c47 TSAGE: R2R - Implement scene 1800 2012-01-20 19:03:12 +01:00
Strangerke
00a9d394a5 TSAGE: R2R - Implement scene 1700 2012-01-18 23:21:50 +01:00
Thierry Crozat
4546ca0e22 SWORD1: Do not look for color indexes in cutscenes when there is no subtitles 2012-01-18 02:44:02 +00:00
Thierry Crozat
ace3bf6187 SWORD1: Use color for subtitles during cutscene
During the game, different colors are used for subtitles depending
which character is speaking. This commit tries to use the same colors
for the cutscene subtitles. The color to use has to be specified in the
subtitle file between the frame end and the start of text using @1, @2,
@3 or @4 (for George, George as a narrator, Nicole and Maguire
respectively).
2012-01-18 02:44:02 +00:00
Strangerke
29a063cb12 TSAGE: R2R - Implement scene 1625 2012-01-17 22:20:19 +01:00
Strangerke
8f03fef3a4 TSAGE: R2R - Fix bug in scene 1580 (not detected by MSVC)
Thanks eriktorbjorn for pointing it
2012-01-17 18:11:38 +01:00
Strangerke
a410584928 TSAGE: R2R - Implement scene 1580
Also fix a couple of setdetails calls in scene 1550
2012-01-17 17:56:29 +01:00
Strangerke
63c13f91c1 TSAGE: R2R - Partial implementation of scene 1575 2012-01-17 00:46:13 +01:00
Strangerke
4a1da069f4 TSAGE: R2R - Scene 1200: Implement sub9EE22() and sub9DAD6()
Also fix a couple of things in scene 1550
2012-01-16 19:53:55 +01:00
Strangerke
1ae18a2e2b TSAGE: R2R - Scene 1550: Implement UnkObj15502::subA5CDF() 2012-01-16 19:23:52 +01:00
Filippos Karapetis
5bb473df88 SCI: Update a workaround for the demo of QFG4 to make it work again 2012-01-16 19:19:09 +02:00
Johannes Schickel
8b391399cc KYRA: Fix for bug #3474339 "KYRA1CD: Ingame animation missing".
This was a regression from 6a3d0e7129.

This still assures that the workaround for bug #1498221 works.
2012-01-16 17:06:28 +01:00
athrxx
26a692ff5c KYRA: (EOB) - change behavior of safe game file importing code
- The initial import of original save files will now use the next free available slots instead of moving the original files to the top of the save file list
- add error check to loading routine for original saves
- also limit debug console command to main menu, since it causes issues when used during the game or during character generation
2012-01-16 16:52:13 +01:00
Willem Jan Palenstijn
c60394eb3f SCI: Remove outdated comment 2012-01-16 16:07:48 +01:00
Strangerke
175e8e00fa TSAGE: R2R - Scene 1550: Implement subA4D14() 2012-01-16 00:24:02 +01:00
Strangerke
e0ac42f6c7 TSAGE: R2R - Fix a GCC warning
Thanks LordHoto for pointing it
2012-01-15 23:11:10 +01:00
Strangerke
3d4f4ce799 TSAGE: R2R - Scene 1550: Implement subA2B2F() 2012-01-15 23:04:09 +01:00
Filippos Karapetis
099b2e9249 SCI: Properly handle negative coordinates in drawTextBitmap()
This fixes occasional crashes when going to the map in GK1. Many thanks
to digitall for finding this through Valgrind
2012-01-15 23:00:23 +02:00
Filippos Karapetis
7560007ba9 SCI: Simplify kString(Dup) using the overloaded = operator
Thanks to wjp for his suggestion
2012-01-15 21:42:09 +02:00
Filippos Karapetis
c69ac88be2 SCI: Ignore an invalid export in a script in the demo of RAMA 2012-01-15 21:10:18 +02:00
Filippos Karapetis
cbe7527805 SCI: Use fromString() in kString(Dup) to simplify code 2012-01-15 21:05:10 +02:00
Filippos Karapetis
aff92ea4cd SCI: Zero-terminate strings in SciString::fromString() 2012-01-15 21:02:02 +02:00
Filippos Karapetis
96aa86a60b SCI: Remove wrong script-to-array copying code in kArray 2012-01-15 20:58:14 +02:00