aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-02-11SCUMM: introduce constants for _userState for cleaner and easier to ↵Tobias Gunkel
understand code
2012-02-11SCUMM: isPlayer() is not supported by engine v0Tobias Gunkel
2012-02-11SCUMM: scumm_vars 14 to 16 are not handled specially in v0Tobias Gunkel
Reading the manuscript will be fixed by this.
2012-02-11SCUMM: fix diagonal walking in at least MM v0Tobias Gunkel
The comparison "ABS((int)(deltaXFactor >> 16)) > _speedx)" does not work as "deltaXFactor >> 16" will clear the fractional part of deltaXFactor. As a result the deltaXFactor might be bigger than (_speedx<<16) and the actor moves faster than he should.
2012-02-11SCUMM: in v0 do not allow an inventory item as 2nd object of a give-to commandTobias Gunkel
2012-02-11SCUMM: handle v0 distance check in checkPendingWalkAction() correctlyTobias Gunkel
2012-02-11SCUMM: Remove unused variable, remove old commentRobert Crossfield
2012-02-11SCUMM: Fix V0 Sound, and a direction issue (affected walking down the ladder)Robert Crossfield
2012-02-11SCUMM: Improve commentsRobert Crossfield
2012-02-11SCUMM: V0 always turns actor towards camera when entering room, remove ↵Robert Crossfield
unnecessary loadcostume
2012-02-11SCUMM: Remove unnecessary calls to animateActorRobert Crossfield
2012-02-11SCUMM: Fix for V0 objectsRobert Crossfield
2012-02-11SCUMM: Fix Tentacle issue, and possibly some other animation issuesRobert Crossfield
2012-02-11SCUMM: fix actor climbing on plant or swimming pool ladderTobias Gunkel
Before, the actor will descend the ladder of the pool and maybe even into the the pool. Another issue fixed by this is the actor climbing onto the plant pot if you give something to it.
2012-02-11SCUMM: fix for old savegamesTobias Gunkel
2012-02-11SCUMM: Animations fix again, no need for the hack nowRobert Crossfield
2012-02-11SCUMM: Remove the setCmdFromDirection functionRobert Crossfield
2012-02-11SCUMM: Animation FixesRobert Crossfield
2012-02-11SCUMM: Fix the animation system, rename the Limb Frame Repeat variableRobert Crossfield
2012-02-11SCUMM: keep track of the number of nested script calls for a sentenceTobias Gunkel
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-11SCUMM: complete handling of pending walkTo actions for sentence commandsTobias Gunkel
in v0
2012-02-11SCUMM: handle actor freeze in walkToActorOrObject()Tobias Gunkel
2012-02-11SCUMM: fix o_setObjectName()Tobias Gunkel
The parameter can either be a FG or BG object depending on the opcode.
2012-02-11SCUMM: delete some obsolete v0 TODOsTobias Gunkel
2012-02-11SCUMM: Fix actor ID handling in v0Tobias Gunkel
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-11SCUMM: fix saving of array _byte_FCE2Tobias Gunkel
2012-02-11SCUMM: fix resetAllSounds() in player_sidTobias Gunkel
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-11SCUMM: remove unimplemented und unused method startMusic() in pce and apple2 ↵Tobias Gunkel
players
2012-02-11SCUMM: do not convert a savegame twiceTobias Gunkel
2012-02-11SCUMM: fix v0 mode handling and actor switchingTobias Gunkel
- 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-11SCUMM: fix blank sentence line in v0 after cutscenes and remove unused ↵Tobias Gunkel
parameter of resetSentence()
2012-02-11SCUMM: Re-arrange some things to make it closer to the originalsegrax
2012-02-11SCUMM: Save the new variables, move the setting of the unknown variable to ↵segrax
after the setDirection call
2012-02-11SCUMM: improve unknown variable support, add case 0xff to the animateactor ↵segrax
opcode
2012-02-11SCUMM: v0 opcode reviewTobias Gunkel
- 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-11SCUMM: fix opcode walkToObject in v0Tobias Gunkel
Before Michael did not develop the film correctly
2012-02-11SCUMM: 2nd try to fix dungeon door timingTobias Gunkel
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-11SCUMM: shorten delay for dungeon door closing actionTobias Gunkel
Escaping with only one kid should not be possible anymore.
2012-02-11SCUMM: Change vars to ints, remove unused variable for nowsegrax
2012-02-11SCUMM: merge object v0 id and type into one object varTobias Gunkel
2012-02-11SCUMM: fix ScummEngine_v0::ifEqualActiveObject2Common() parameter nameTobias Gunkel
2012-02-11SCUMM: merge _activeObjectNr/_activeObjectType and _cmdObjectNr/_cmdObjectTypeTobias Gunkel
2012-02-11SCUMM: fix debugger for v0Tobias Gunkel
2012-02-11SCUMM: Fix actor behind man-eating plant issue in v0.Tobias Gunkel
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-11SCUMM: Add in support in v0 for the unknown variable to o_animateActorsegrax
2012-02-11SCUMM: remove some NOTEs/TODOsTobias Gunkel
- 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-11SCUMM: make what-is verb work in v0 againTobias Gunkel
2012-02-11SCUMM: reset object2 in v0 correctlyTobias Gunkel
This fixes the issue that a kid will not enter the front door after opening it with the key.
2012-02-11SCUMM: pop stack in v0 if command's object1 and 2 are the sameTobias Gunkel
Otherwise the command will never be removed and the stack overflows
2012-02-11SCUMM: improve verb and sentence handlingTobias Gunkel
- execute sentence if verb was clicked twice - reuse the first object if a new verb is selected (but no preposition is used yet)