Commit graph

41 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Johannes Schickel
6fe7b020a8 SCUMM: Made some static data const. 2011-09-08 20:13:13 +02:00
Max Horn
b37463fe59 SCUMM: Move class ResourceManager to its own header 2011-05-13 11:47:08 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
2c00aed172 SCUMM: Avoid hiding overloaded virtual method
svn-id: r55809
2011-02-07 17:53:34 +00:00
Travis Howell
f158688c33 SCUMM: Add patch #3089936 - MMC64: Parcel/Tombstone/Verb Fix.
svn-id: r53807
2010-10-25 08:26:21 +00:00
Travis Howell
4f0cc6a435 SCUMM: Add patch #3093541 - MMC64: Actor Walk / Object Fix.
svn-id: r53806
2010-10-25 08:03:55 +00:00
Max Horn
93375526c0 SCUMM: Convert some code to use Common::String
svn-id: r48957
2010-05-05 20:43:22 +00:00
Johannes Schickel
1242a4eb8c Some style fixes.
svn-id: r48272
2010-03-16 14:34:25 +00:00
Travis Howell
b968a69468 Add patch #2970176 - V0: MM Verb + Anim Fix.
svn-id: r48269
2010-03-16 08:59:48 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Travis Howell
08bc900e50 There is no sentence script in SCUMM0.
svn-id: r43800
2009-08-29 13:54:41 +00:00
Travis Howell
c02ad3b7bf Add patch #2821100 - MM C64 Objects / Verb fixes, with minor clean up applied.
svn-id: r42737
2009-07-25 06:27:41 +00:00
Travis Howell
41ef4938ac Add patch #2816140 - MM C64 Costume Animation.
svn-id: r42736
2009-07-25 05:39:57 +00:00
Max Horn
6a7bb77305 SCUMM: Introduced new method ScummEngine_v5::jumpRelative; unified some v0 and v2 opcodes
svn-id: r40025
2009-04-20 12:35:17 +00:00
Max Horn
3044593da0 SCUMM: Moved o5_saveLoadGame and o5_saveLoadVars to ScummEngine_v4 (the highest SCUMM version to implement these opcodes. Actually, our code was bugged in so far as we only ever invoked o5_saveLoadGame in V3 games, never in V4 games (but this properly never mattered ;)
svn-id: r40014
2009-04-19 01:01:54 +00:00
Max Horn
9655fa831e SCUMM: Turned PARAM_1,2,3 into an enum; minor tweaks
svn-id: r40008
2009-04-19 00:59:50 +00:00
Max Horn
432e7917a5 SCUMM: Switched opcode tables to use Common::Functor0 (a bit like Kyra does it)
svn-id: r39956
2009-04-16 09:26:37 +00:00
Max Horn
6f4b567124 SCUMM: Split intern.h into multiple headers
svn-id: r39567
2009-03-20 16:33:58 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
0cccbb29d6 Some cleanup (yay for whomever had the brilliant idea to let SVN work over HTTPS and hence through proxies&firewalls :)
svn-id: r28877
2007-09-08 11:15:27 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Travis Howell
7d599d3242 Add recent walk box changes to SCUMM0 too.
svn-id: r26132
2007-03-14 12:35:57 +00:00
Eugene Sandulenko
393478a143 Rename C64 file to V0 as well.
svn-id: r25856
2007-02-25 14:47:51 +00:00
Renamed from engines/scumm/script_c64.cpp (Browse further)