51389 Commits

Author SHA1 Message Date
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
Eugene Sandulenko
40b6b3a3af MT32: Turn off accurate WG as suggested by KingGuppy 2012-02-10 13:16:27 +02: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
1adc7f0bdd BASE: Remove unneeded code in PluginManagerUncached.
Thanks to Yotam for confirming that this isn't needed anymore.
2012-02-10 01:45:16 +01:00
Johannes Schickel
9cf2fae53a NEWS: Mention TrueType font support. 2012-02-10 01:41:17 +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
Willem Jan Palenstijn
0864edea54 MT32: Fix warning
The workaround for the unused parameter warning caused a warning:
parameter 'patchNum' set but not used
2012-02-09 23:07:58 +01:00
Strangerke
4b2938c9d0 TSAGE: R2R - Very preliminary implementation of scene 1337 2012-02-09 22:59:33 +01:00
Bastien Bouclet
3becde4d1a GRAPHICS: Switch to integer based JPEG IDCT
Based on public domain code, and explanations from :
http://halicery.com/jpeg/idct.html
Thanks.
2012-02-09 16:10:51 +01:00
Bastien Bouclet
de0425c7e2 GRAPHICS: Add support for JPEG files using a restart interval
Patch by Scott and clone2727
2012-02-09 16:10:51 +01:00
Bastien Bouclet
577635acf2 AUDIO: Add support for RAW PCM wave stream with an incomplete packet
The last incomplete packet is ignored
2012-02-09 16:10:50 +01:00
Bastien Bouclet
9d85382c15 VIDEO: Fix the BINK decoder to play file whose width is 24px
See https://ffmpeg.org/trac/ffmpeg/ticket/962
2012-02-09 16:10:47 +01:00
Eugene Sandulenko
734b1e738e NEWS: Mention MT-32 emu update 2012-02-09 15:18:15 +02:00
Eugene Sandulenko
377f140c1d NEWS: Slight formatting fix 2012-02-09 15:17:07 +02:00
Eugene Sandulenko
22ea849cad MT32: Hooked up ScummVM MIDI gain 2012-02-09 11:31:09 +02:00